Django 'objects.filter ()' со списком? - PullRequest
16 голосов
/ 11 мая 2011

Можно ограничить QuerySet следующим образом:

creators_list = ['jane', 'tarzan', 'chita']
my_model.objects.filter(creator=creators_list)

???

1 Ответ

37 голосов
/ 11 мая 2011

Вы имеете в виду, как это?

my_model.objects.filter(creator__in=creator_list)

Документы: http://docs.djangoproject.com/en/dev/ref/models/querysets/#in

РЕДАКТИРОВАТЬ

Это теперь немного устарело.Если у вас возникли проблемы с исходным кодом, попробуйте следующее:

from django.db.models import Q

my_filter_qs = Q()
for creator in creator_list:
    my_filter_qs = my_filter_qs | Q(creator=creator)
my_model.objects.filter(my_filter_qs)

Возможно, есть лучший способ сделать это, но я не могу сейчас его проверить.

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