python - Django查询过滤器多对多对多等

标签 python django filter django-queryset

鉴于这些关系:

Publication -(n:m)- Article -(n:m)- Advert -(n:1)- Partner

如何查询以查找包含特定合作伙伴广告的所有出版物?例如,类似:

result = Publication.objects.filter(articles.adverts.partner = partner)

最佳答案

您可以使用 __ 访问查询中的外键(或外键属性)。

示例:

result = Publication.objects.filter(articles__adverts__partner = partner)

提示: __ <-- 这是 2 个下划线 (_ _)

假设您的 Partner 模型有一个名为 username 的字段,您也可以这样做:

result = Publication.objects.filter(articles__adverts__partner__username = 'username')

你还可以这样做:

result = Publication.objects.filter(articles__adverts__partner__username__icontains = 'adm') 

关于python - Django查询过滤器多对多对多等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27544223/

相关文章:

python - Python : prohibit instantiation 中没有抽象方法的抽象数据类

javascript - 在 django 中显示图像

python - django - 将用户 ID 添加到 UpdateView

ios - 过滤搜索多个词,iOS,Swift

c# - 在datagridview c#中过滤数据

python - 如何使用 pandas 获取数据框中具有特定值的列数?

python - 如何在 python 中优化搜索两个元组中的大 tsv 文件?

python - 在Python中的独立(非阻塞)线程中检测按键

python - 如何在django模板中查找字典值

javascript - 使用 angularjs 观察下拉列表的选定值以填充数组取决于选定的值