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