繁体   English   中英

Django 创建超级用户错误:AttributeError: 'ProfileManager' 对象没有属性 'create_superuser'

[英]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_superusercreate_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM