У меня есть модель с JSONField, и некоторые из этих значений в этом поле могут быть списками. когда я ищу все значения, которые больше, чем какое-то число, например 3. запрос возвращает все списки, даже если значения в этих списках меньше, как я могу получить только правильные строки?
query: Books.objects.filter(pages__t__gte=2):
возвращает все книги с t> = 2 и все книги со списком t, например: t: [0,1]
уже видел, проблема со списками
Из быстрого поиска (который вы могли бы сделать сами) похоже, что то, что вы просите, невозможно (или, по крайней мере, не без прохождения всех видов хранимых процедур и т. д.). Обратите внимание, что у вас не будет этой проблемы с правильно нормализованной схемой ...
Это можно сделать с помощью специальной функции postgres. К сожалению, он не встроен в наборы запросов django. Postgres поддерживает сценарии Python, если вы готовы поэкспериментировать с этим. В документации нет множества примеров, но это возможно. postgresql.org/docs/10/static/plpython.html






Взгляните на stackoverflow.com/questions/10445176/…