[英]Django creating super user error: AttributeError: 'ProfileManager' object has no attribute 'create_superuser'
嗨,我正在尝试创建一个超级用户,但是,在添加我自己的 ProfileManager 后,出现错误:
AttributeError: 'ProfileManager' object has no attribute 'create_superuser'
但我的问题是 BaseUserManager 应该已经有这个方法了吗? 我找不到继承create_superuser
方法的原因。
我的经理是:
class ProfileManager(BaseUserManager):
pass
我的模型是:
class Profile(AbstractUser):
objects = ProfileManager()
提前感谢所有帮助!
BaseUserManager
类没有create_superuser
和create_user
,这些方法在UserManager
中实现
这也记录在自定义身份验证文档中
如果你的用户模型定义了与Django默认用户相同的username、email、is_staff、is_active、is_superuser、last_login和date_joined字段,你可以安装Django的UserManager; 但是,如果您的用户模型定义了不同的字段,您将需要定义一个自定义管理器来扩展 BaseUserManager 并提供两个额外的方法:
创建用户
创建超级用户
所以你不需要设置对象属性也不需要覆盖任何东西,因为AbstractUser
将对象属性设置为
objects = UserManager()
不, BaseUserManager
没有那个方法,但是UserManager
有
from django.contrib.auth.models import UserManager
class ProfileManager(UserManager):
pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.