1
我想以某种方式加入一个拥有我所有权限的组。 我想查询所有的权限,并为每个权限查询一个布尔指标,如果该组拥有它。 所以假设这Django加入查询权限和组?
group = Group.objects.get(pk=1) # specific group
Permission.objects.all()。注释(集团拥有它?)
group.permissions.all()
不会帮助,因为我要查询所有权限。
UPDATE: 清除解释:
假设我的权限表是(PK值):1,2,3 - 总三行。
组表:一组,pk = 1。
组的许可(多到多)表:用PK 1组,有权限1,2-(所以两行)
我想显示的所有权限,以在他们附近的指示符的组是否具有它。 所以在我们的情况下,我应该得到:
1真
2真
3个假
原因组没有与PK = 3许可。
忘了说这是行不通的。只是一个问题 - Max需要什么? – user3599803
原因没有最大值,我得到重复结果..我不明白为什么 – user3599803
'annotate'导致'group by',在这种情况下,基于'Permission.pk'(如果有一个先前的值( )'调用,它将按这些列进行分组)。在调试复杂查询时,查看生成的SQL很有帮助,例如:'print Permission.objects.annotate(...)。query' – zsepi