2024-04-23 07:22:51 发布
网友
我想以预授权id列表的形式检索用户的所有权限,但是:
user.get_all_permissions()
给我权限名称列表。怎么做?
关键是获取如下权限对象:
from django.contrib.auth.models import Permission permissions = Permission.objects.filter(user=user)
在这里,您可以像这样访问id属性:
id
permissions[0].id
如果需要列表(id, permission_name),请执行以下操作:
(id, permission_name)
perm_tuple = [(x.id, x.name) for x in Permission.objects.filter(user=user)]
希望有帮助!
我们可以从用户对象直接将用户权限获取到这样的列表中
perm_list = user_obj.user_permissions.all().values_list('codename', flat=True)
试试这个。。。。
要获取给定用户的所有权限,以及与此用户所属组关联的权限:
from django.contrib.auth.models import Permission def get_user_permissions(user): if user.is_superuser: return Permission.objects.all() return user.user_permissions.all() | Permission.objects.filter(group__user=user)
关键是获取如下权限对象:
在这里,您可以像这样访问
id
属性:如果需要列表
(id, permission_name)
,请执行以下操作:希望有帮助!
我们可以从用户对象直接将用户权限获取到这样的列表中
试试这个。。。。
要获取给定用户的所有权限,以及与此用户所属组关联的权限:
相关问题 更多 >
编程相关推荐