如何检索分配给django中的组的所有权限

时间:2014-12-18 03:13:56

标签: python django django-models permissions

我正在处理一项任务,以检索分配给django中的组的一组权限,我可以使用以下代码获取创建的组,但无法使用它来获取分配给它的权限

来自django.contrib.auth.models导入组,权限

groups = Group.objects.all()为我提供了我创建的所有组

但我不确定如何获得分配给它的权限。

permissions = Permission.objects.all()给了我所有权限,但我无法弄清楚如何获得分配给特定组的权限

任何指针都会受到赞赏

2 个答案:

答案 0 :(得分:7)

Group模型与ManyToMany模型有Permission关系,因此您可以这样做

for group in Group.objects.all():
    permissions = group.permissions.all()
    # do something with the permissions

答案 1 :(得分:0)

要获取当前用户所属的所有组中的所有权限,请执行以下操作:

all_permissions_in_groups = user.get_group_permissions()

要获取与用户相关的所有权限,包括不在组中的权限,请执行以下操作:

all_permissions = user.get_all_permissions()

有关更多详细信息,请参见django documentation