0

我有一个ManyToMany领域,比如tagsmodel Article。现在有一个查询来选择所有包含 X1 和 X2 和 X3 ...Article其中tagsX1、X2、X3... 是Tag对象。我怎样才能获得最终结果的查询集?

更正式地说:

class Tag(models.Model) {
    ...
}
class Article(models.Model) {
    tags = models.ManytoManyField(Tag)
}
4

1 回答 1

0

由于您正在寻找特定文章的所有标签,您可以使用过滤然后链接sQQ

tags = ['X1', 'X2', 'X3']
qs = [Q(tags__name=tag.name) for tag in tags]

query = qs.pop() #get the first element

for q in qs:
    query &= q

articles = Article.objects.filter(query)
于 2013-08-16T14:32:15.357 回答