python - template - sistema login django
¿Cómo obtener permisos de usuario? (3)
La clave es obtener los objetos de permiso como este:
from django.contrib.auth.models import Permission
permissions = Permission.objects.filter(user=user)
y allí puedes acceder a la propiedad id
como esta:
permissions[0].id
Si desea que la lista (id, permission_name)
haga lo siguiente:
perm_tuple = [(x.id, x.name) for x in Permission.objects.filter(user=user)]
¡Espero eso ayude!
Quiero recuperar todos los permisos para el usuario como lista de identificadores de premisión, pero:
user.get_all_permissions()
Dame una lista de nombres de permisos. ¿Cómo hacerlo?
para obtener todos los permisos de un usuario determinado, también los permisos asociados con un grupo del cual este usuario forma parte:
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)
podemos obtener el permiso del usuario de los objetos de usuario directamente en una lista como esta
perm_list = user_obj.user_permissions.all().values_list(''codename'', flat=True)
Prueba esto....