Django JSONField содержит больше, чем - PullRequest
0 голосов
/ 03 июня 2019

У меня есть модель Item с полем JSON

metadata = JSONField(null=True)

пример содержимого: [{"value": 50, name: "other"}, {"value": 60, name: "other2"}]

Как я могу запросить все строки, где существует "значение" больше 50?

Я пытался

Item.objects.filter(metadata__contains__value__gt=50)

Мне удалось запросить точное значение с помощью

Item.objects.filter(metadata__contains=[{"value": 50}])

1 Ответ

0 голосов
/ 03 июня 2019

Чтобы выполнить запрос на основе заданного ключа словаря, просто используйте этот ключ в качестве имени поиска. Например:

Item.objects.filter(metadata__value__gte=50)

...