在 Django 中过滤第二级多对多关系

Posted

技术标签:

【中文标题】在 Django 中过滤第二级多对多关系【英文标题】:Filtering second level of Many-to-Many relations in Django 【发布时间】:2011-02-27 12:51:11 【问题描述】:

考虑三个 django 模型:AA、BB 和 CC。 AA 有一个对 BB 的 M2M 引用,BB 有一个对 CC 的 M2M 引用。

我有一个 AA 实例。如何对与 M2M 相关的 CC 实例集和与单个 AA 实例相关的 M2M BB 实例执行 filter() QuerySet?

【问题讨论】:

【参考方案1】:

以下内容对我有用:

CC.objects.filter( bb__aa = aa_instance )

这会产生一个您可以进一步操作的 QuerySet...

在 django 文档 here 中找到了答案。

【讨论】:

以上是关于在 Django 中过滤第二级多对多关系的主要内容,如果未能解决你的问题,请参考以下文章

在Django中按关系字段过滤多对多关系

Django内联表单集通过另一个模型在多对多关系中过滤

在 Django Admin 中过滤多对多框

根据特定的多对多关系过滤 Django 查询集

过滤多对多关系thip

如何以 django 形式过滤多对多字段