Я пытаюсь создать модель суперпользователя и получаю следующую ошибку

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

ошибка, которую я получаю: Ошибка: Введите действительный адрес электронной почты. */

Вернуться на верх