查询 django 多对多

Posted

技术标签:

【中文标题】查询 django 多对多【英文标题】:Querying django ManyToMany 【发布时间】:2010-11-26 03:58:27 【问题描述】:

我有

Foo FooGroup Bar

关系,其中<=> 代表ManyToMany 字段。

如何检索特定 Bar 实例的所有 Foos?

【问题讨论】:

【参考方案1】:

这是一个使用身份验证模型的示例,其中的关系非常类似于您的结构:用户 组 权限

from django.contrib.auth import models
models.Permission.objects.filter(group__user=models.User.objects.get(username="webmaster"))

用你的例子:

Foo.objects.filter(foogroup__bar=barinstance)

【讨论】:

谢谢。星期一很难思考:)

以上是关于查询 django 多对多的主要内容,如果未能解决你的问题,请参考以下文章

hibernate多对多查询

逻辑或 Django 多对多查询返回重复结果

Django ORM - 通过模型查询多对多?

如何在双连接关系之后在 Django 中执行查询(或:如何绕过 Django 对多对多“通过”模型的限制?)

Django如何过滤多对多字段中的对象,而不是原始查询集

Django查询多对多子集包含