使用带有querset的django filter()作为args或kwargs

时间:2010-09-11 05:59:13

标签: django django-models

如何使以下成为可能?

models.py

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

...别处

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

目前,检索到的“文章”仅来自与查询集中第一个区域的匹配,即区域[0]。

当然,我希望找到1-n区域的文章匹配。

非常感谢。

达里尔。

1 个答案:

答案 0 :(得分:4)

也许这可以提供帮助:

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

考虑到这一点,您可以像这样重写代码:

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

它应该可以正常工作。