Я пытаюсь создать модель суперпользователя и получаю следующую ошибку
from django.db import models из django.contrib.auth.models import AbstractBaseUser, BaseUserManager
Создавайте свои модели здесь.
class MyUserManager(BaseUserManager): # создать пользователя def create_user(self, email, phone, password=None): if not email: raise ValueError('----------EMAIL REQUIRED----------')
if not phone:
raise ValueError('----------PHONE NUMBER REQUIRED----------')
user = self.model(
email = self.normalize_email(email),
phone = phone
)
user.set_password(password)
user.save(using=self._db)
return user
# create super user
def create_superuser(self, email, phone, password=None):
if not email:
raise ValueError('----------EMAIL REQUIRED----------')
if not phone:
raise ValueError('----------PHONE NUMBER REQUIRED----------')
user = self.create_user(
email = email,
phone = phone,
password = password
)
user.is_admin = True
user.is_staff = True
user.is_supersuser = True
user.save(using=self._db)
return user
модель моего пользовательского класса
class MyUser(AbstractBaseUser): email = models.EmailField(verbose_name='email', max_length=50, unique=True) phone = models.CharField(verbose_name='phone', max_length=50) is_admin = models.BooleanField(default=False) is_active = models.BooleanField(default=False) is_staff = models.BooleanField(default=False) is_superuser = models.BooleanField(default=False)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['phone']
objects = MyUserManager()
def has_perm(self, perm, obj=None):
return True
def has_module_perms(self, app_lable):
return True
Проект setthing
AUTH_MODEL_USER = serivce.MyUser
/* Я пытаюсь создать логин пользователя admin с помощью команды
python manage.py createsuperuser
Электронная почта, которую я использовал: coded@gmail.com
ошибка, которую я получаю: Ошибка: Введите действительный адрес электронной почты. */