为了账号安全,请及时绑定邮箱和手机立即绑定

Django创建超级用户错误:AttributeError:'ProfileManager'

Django创建超级用户错误:AttributeError:'ProfileManager'

Qyouu 2023-06-27 16:16:00
您好,我正在尝试创建一个超级用户,但是,在添加我自己的 ProfileManager 后,我收到错误:AttributeError: 'ProfileManager' object has no attribute 'create_superuser'但我的问题是 BaseUserManager 应该已经有这个方法了吗?我找不到继承该create_superuser方法的原因。我的经理是:class ProfileManager(BaseUserManager):      pass我的模型是:class Profile(AbstractUser):            objects = ProfileManager()感谢您提前提供的所有帮助!
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

BaseUserManager类没有create_superusernor create_user,这些方法是在UserManager

这也记录在自定义身份验证文档中

如果你的用户模型定义了与 Django 默认用户相同的 username、email、is_staff、is_active、is_superuser、last_login 和 date_joined 字段,则可以安装 Django 的 UserManager;但是,如果您的用户模型定义了不同的字段,则需要定义一个扩展 BaseUserManager 的自定义管理器,并提供两个附加方法:

  • 创建用户

  • 创建超级用户

因此,您不需要设置对象属性,也不需要覆盖任何内容,因为AbstractUser将对象属性设置为

 objects = UserManager()


查看完整回答
反对 回复 2023-06-27
?
跃然一笑

TA贡献1826条经验 获得超6个赞

不,BaseUserManager没有这个方法,但是UserManager

from django.contrib.auth.models import UserManager



class ProfileManager(UserManager):

    pass


查看完整回答
反对 回复 2023-06-27
  • 2 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信