Django查询过滤器多对多对多

2024-04-25 14:17:28 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑到这些关系:

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

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

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

Tags: partnerobjects关系article合作伙伴resultfilterarticles
1条回答
网友
1楼 · 发布于 2024-04-25 14:17:28

您可以使用__访问查询中的外键(或外键attr)。你知道吗

示例:

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') 

相关问题 更多 >

    热门问题