【发布时间】:2021-11-21 18:22:27
【问题描述】:
我创建了一个自定义用户模型以通过电子邮件登录,但是当我尝试登录管理员频道时遇到了一些问题
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
class MyAccountManajer(BaseUserManager):
def create_user(self, first_name, last_name, username, email, password=None):
if not email:
raise ValueError('User must have an email address')
if not username:
raise ValueError('User must have an username')
user = self.model(
email = self.normalize_email(email),
username = username,
first_name = first_name,
last_name = last_name,
)
user.set_password(password)
user.save(using=self.db)
return user
def create_superuser(self, first_name, last_name, username, email, password):
user = self.create_user(
email = self.normalize_email(email),
password= password,
username = username,
first_name = first_name,
last_name = last_name,
)
user.is_admin = True
user.is_active = True
user.is_staff = True
user.is_superadmin = True
user.save(using=self.db)
return user
我能够创建一个超级用户。但是,当我尝试使用电子邮件登录时。我得到了这个错误 异常类型:属性错误 异常值:“帐户”对象没有属性“has_module_perms” 异常位置:....\env\lib\site-packages\django\utils\functional.py,第 241 行,inner
有人可以解决这个问题吗?
【问题讨论】:
标签: python python-3.x django backend