Как я могу сделать Django Query на JSONField, содержащем дату? - PullRequest
0 голосов
/ 17 октября 2018

Я надеялся, что смогу сделать что-то вроде этого:

Q(data__result_started__gt = dateutil.parser.parse("5/22/18"))

или

Q(data__result_started__gt = "2018-5-22")

. В первом случае я получаю дату-время не в виде сериализуемой ошибки JSON, а во втором случае.я получаю 0 результатов.

Есть ли способ сделать это?спасибо

1 Ответ

0 голосов
/ 17 октября 2018

Нельзя использовать __gt постфикс для фильтрации по подполям json.Это пока не поддерживается в django ORM.Это можно сделать с помощью raw sql в postgresql, поэтому, возможно, эта функция будет добавлена ​​в будущем выпуске Django.

Если вы предоставите код своей модели, кто-то может предложить ответ с использованием sql.

Вы также можете извлечь подполе, используя .annotate(), а затем использовать его в последующих запросах django QuerySet.См. Этот вопрос для примера.

Упорядочение наборов запросов Django с использованием свойств JSONField

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