фильтрация моделей Django по атрибуту даты JSONField, если критерий меньше или превышает критерий - PullRequest
0 голосов
/ 05 марта 2020

Я столкнулся с ситуацией, когда у меня есть JSONField в качестве одного из полей моей модели (при запуске Postgres в качестве БД). Json, хранящийся в БД, выглядит примерно так:

{"date": "2020-06-06", "reason": "test reason"} 

Я хотел бы написать фильтр, который бы вывел все строки, где date меньше, чем сегодня. Я использую объект Q для настройки моего фильтра, но где-то читал, что такие запросы lte и gte пока не поддерживаются. Например:

query = Q(my_json_field__date__lt=today) &= Q(another_field=some_value)
MyModel.objects.filter(query)

Есть ли способ обойти это ограничение, и можно объединить необработанные sql с другими объектами Q? В этом запросе есть еще несколько объектов Q, поэтому я не хочу переходить к полному SQL, пока, если возможно,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...