ユーザーのすべての権限を権限IDのリストとして取得したいのですが:
user.get_all_permissions()
権限名のリストを教えてください。どうやってするの?
ユーザーのすべての権限を権限IDのリストとして取得したいのですが:
user.get_all_permissions()
権限名のリストを教えてください。どうやってするの?
特定のユーザーのすべての権限を取得するには、このユーザーが属するグループに関連付けられた権限も取得します。
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)
重要なのは、次のようなアクセス許可オブジェクトを取得することです。
from django.contrib.auth.models import Permission
permissions = Permission.objects.filter(user=user)
id
そこで、次のようにプロパティにアクセスできます。
permissions[0].id
リストが必要な場合(id, permission_name)
は、次のようにします。
perm_tuple = [(x.id, x.name) for x in Permission.objects.filter(user=user)]
それが役に立てば幸い!