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