【发布时间】:2018-09-23 01:30:31
【问题描述】:
我不清楚docs 直接在ManyToManyField 上使用“=”过滤条件意味着什么。
例如,如果我有:
class Publication(models.Model):
title = models.CharField(max_length=30)
class Article(models.Model):
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication)
.filter(publications=pub) 在这里做什么:
pub = Publication.objects.get(id=1) # or any other Publication
Article.objects.filter(publications=pub)
- 它会选择完全/只有这个出版物的文章吗?
- 它会选择至少包含此出版物的文章吗?
.filter(publications=pubs) 在这里是什么意思:
pubs = Publication.objects.filter(id__in=[1,2]) # or any other subset query of Publication
Article.objects.filter(publications=pubs)
- 它会选择完全/仅包含此出版物子集的文章吗?
- 它会选择至少包含所有出版物的文章吗?
- 它会选择至少有这些出版物之一的文章吗?
【问题讨论】:
标签: django django-queryset manytomanyfield