我有一个相互关联的Django模型的迷茫迷宫,其中有多对多的字段描述了这些关系。
从QuerySet获取相关模型的唯一成员列表的最简洁方法是什么?
如果我有一个Item模型,其中ManyToMany组指向Groups模型。
如果我有一个“项目”项目的查询集,我该怎么做:
groups = items[0].groups.all().values_list('name', flat=True)
但对于整套?我是否需要遍历它们并执行set()。intersect()?
答案 0 :(得分:17)
一种解决方案是使用2个查询。
您可以使用反向关系查询Group
中Item
指向的所有items
。
groups = groups.objects.filter(item__in=items).distinct().values_list('name', flat=True)