2013-09-04 2 views
1

Это такие модели атрибуты:Джанго модели комплекса фильтр

name, version, date_added, last_modified 

У меня есть список, как это:

[(name1, version1), (name2, version2), (name3, version3)...] 

Я хочу, чтобы отфильтровать модель (название, версия) кортеж. Как я могу это сделать?

+0

Что вы имеете в виду фильтр – iMom0

+0

Для каждого кортежа из списка я хочу, чтобы объект из базы данных. –

+0

Представляете себе соответствующий SQL-запрос? – J0HN

ответ

3

Вы можете сделать это следующим образом:

from operator import or_ 
from django.db.models import Q 

l = [(name1, version1), (name2, version2), (name3, version3)...] 

data = YourModel.objects.filter(reduce(or_, Q(name=name, version=version) 
              for name, version in l)) 

Я думаю, в SQL и Джанго ОРМ и in предназначены для одного поля.

+0

Большое спасибо! –

Смежные вопросы