2010-09-11 2 views
0

Как сделать следующее возможным?Использование фильтра django() с querset как args или kwargs

models.py

class Article(models.Model): 
    #... 
    regions = models.ManyToManyField(Region) 

в другом месте ...

regions = Region.objects.all() 
articles = Article.objects.filter(regions=regions) 

В настоящее время 'статьи', извлекаемые только от матча с первой областью в QuerySet, т.е. регионы [0] ,

Конечно, я хотел бы получить совпадения по статьям из 1-го региона.

Доброго спасибо.

Daryl.

ответ

4

может быть, это может помочь:

http://docs.djangoproject.com/en/1.2/ref/models/querysets/#s-in

Имея это в виду, вы могли бы переписать код так:

regions = Region.objects.all() 
articles = Article.objects.filter(regions_in=regions) 

И он должен работать нормально.

+0

Право на! И я добавил .distinct() для немного более верности. Thx Fed ' – Daryl

+0

+1. Пришел сюда, чтобы опубликовать именно это. –

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