Django m2m 查询,获取模型的 m2m 关系的唯一用户

1 投票
1 回答
776 浏览
提问于 2025-04-15 11:20

我有一个模型叫做 Model,里面有一个多对多(m2m)字段:

user = .. fk user
...
watchers = models.ManyToManyField(User, related_name="boardShot_watchers",  null=True)

我该如何选择所有在这个 watchers 关系中参与的不同用户,针对我所有的 Model 类型的条目呢?

我觉得没有什么 ORM 的方法可以直接访问中间的多对多表。

Greg

1 个回答

2

在你现在的模型中是没有的。如果你想要直接访问连接表,你需要把它作为Django对象模型的一部分。文档里有详细的说明,教你怎么做:

http://www.djangoproject.com/documentation/models/m2m_intermediary/

Django的管理界面和其他django.contrib*组件可以设置成把大多数字段当作普通的ManyToMany字段来处理。不过,这需要一些配置。

撰写回答