给定一个带有m2m字段的模型,假设Reference
有多个Article
。
获取其作者集是另一集的子集的所有文章的最有效方法是什么?
Authors
获取此列表中由一位或多位作者撰写的所有文章,但没有任何作者不属于此列表。
class Article(models.Model):
authors = models.ManyToManyField('Author')
答案 0 :(得分:1)
在不了解您的作者模型的情况下,这只是一个猜测,但这种一般方法应该有效:
authors = Author.objects.filter(first_name__in=authors_list)
others = Author.objects.exclude(first_name__in=authors_list)
queryset = Article.objects.filter(authors__in=authors)
queryset = queryset.exclude(authors__in=others)