我通过管理界面向用户添加了一些权限。
由于某些原因,所有烫发功能都失败了,例如
>>> user.get_all_permissions()
set([])
但直接访问该表,有效:
>>> user.user_permissions.all()
(list of permissions as expected)
什么会导致“get_all_permissions”(以及所有perm函数,如has_perm())失败?
由于
答案 0 :(得分:42)
有同样的问题。我猜你在某些时候使用了自制的AUTHENTICATION_BACKEND?网络上的大多数示例(包括DJANGO 1.0文档!)都没有提到后端也负责权限处理。
但是,没有大问题:在您的代码所在的任何后端文件中,包含此导入:
from django.contrib.auth.backends import ModelBackend
然后确保您编写的后端扩展 ModelBackend,例如:
class EmailBackend(ModelBackend):
应该没事。