Динамический запрос Django build - PullRequest
0 голосов
/ 31 января 2019

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

, в этом случае выполняется операция «И».но некоторое значение времени пусто или равно NULL.

пример: - у модели пользователя есть три столбца: имя, возраст и город.и выполнить фильтр операций, но это и запрос динамический, иногда доступно 3 поля или иногда одно или, может быть, два, как написать динамический запрос.

1 Ответ

0 голосов
/ 31 января 2019

Вы можете использовать Q()

from django.db.models import Q
query = Q()
if need_filter_name:
    query &= Q(name='my_name')
if need_filter_age:
    query &= Q(age='my_age')
if need_filter_city:
    query &= Q(city='my_city')

User.objects.filter(query)

Если вам нужно OR оператор использовать query |= Q() Для AND оператор использовать query &= Q()

...