django django-admin django-authentication django-permissions

El usuario de Django get_all_permissions() está vacío mientras se establece user_permissions



django permissions (1)

Agregué algunos permisos a un usuario a través de la interfaz de administración.

Por alguna razón, todas las funciones permanentes fallan, por ejemplo

>>> user.get_all_permissions() set([])

Pero accediendo directamente a la tabla, funciona:

>>> user.user_permissions.all() (list of permissions as expected)

¿Qué puede causar que "get_all_permissions" (y todas las funciones permanentes como has_perm ()) falle?

Gracias


tenia el mismo problema Supongo que en algún momento ha utilizado un AUTHENTICATION_BACKEND hecho por usted mismo. La mayoría de los ejemplos en la red de esto (¡INCLUYENDO LA DOCUMENTACIÓN DE DJANGO 1.0!) No mencionan que los Backends son responsables del manejo de permisos también.

Sin embargo, no hay problema: en el archivo de fondo que reside su código, incluya esta importación:

from django.contrib.auth.backends import ModelBackend

Luego, asegúrese de que el Backend que escribió amplíe ModelBackend, por ejemplo:

class EmailBackend(ModelBackend):

Debería estar bien.