在Django中进行查询时,在many-to-may字段中检查包含

时间:2013-10-11 21:30:01

标签: python django django-queryset

假设我有以下型号:

class Blog(models.Model):
    owner = models.ForeignKey(User)
    articles = models.ManyToManyField(Article)

假设我有一个视图,它将用户和文章作为参数。我希望获得该用户的所有博客,并检查每篇文章是否包含在博客文章中。所以不要过滤本文,只是检查是否包含在该用户对所有博客的查询过滤返回的每个博客中。

我想知道实现这一目标的最有效方法是什么?

1 个答案:

答案 0 :(得分:1)

简单,Django ORM可以处理多对多过滤器。

所以,我在想这样的事情:

user_blogs = Blog.objects.filter(owner=user)

user_blogs_with_article = user_blogs.filter(articles=article)