从 Django QuerySet 获取所有相关的多对多对象
我有一个相互关联的 Django 模型的曲折迷宫,其中有描述关系的多对多字段。
从 QuerySet 获取相关模型的唯一成员列表的最简洁方法是什么?
如果我有一个 Item 模型,其中的 groups ManyToMany 指向 Groups 模型。
如果我有一个“项目”的项目查询集,我如何得到这个:
groups = items[0].groups.all().values_list('name', flat=True)
但是对于整个集合?我是否需要遍历它们并执行 set().intersect() ?
I have a twisty maze of interrelated Django models, with many-to-many fields describing the relationships.
What's the cleanest way to get a list of unique members of a related model from a QuerySet?
If I have a Item model with a groups ManyToMany pointing to the Groups model.
If I have a queryset of Items, of 'items', how do I get this:
groups = items[0].groups.all().values_list('name', flat=True)
But for the whole set? Do I need to iterate through them all and do set().intersect() ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种解决方案是使用 2 个查询。
您可以使用反向关系来查询
items
中的Item
指向的所有Group
。One solution is to use 2 queries.
You can use the reverse relationships to query all
Group
s that anItem
in youritems
points to.