鉴于这些关系:
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/