Django : не удается войти в систему администрирования django

Прежде всего, я создал модель User, которая наследуется от AbstractUser. Я использую другую модель, которая называется CustomUserManager (которая наследуется от UserManager). В CustomUserManager я переписал метод create_user и метод create_superuser. Когда я создаю простого активного пользователя, все работает нормально (я могу подключить пользователя). Когда я создаю суперпользователя, он работает нормально ("Superuser created successfully"), но когда я перехожу на административный канал django и ввожу правильную информацию суперпользователя, он не работает и выдает следующее сообщение: "Пожалуйста, введите правильный email и пароль для учетной записи персонала. Обратите внимание, что оба поля могут быть чувствительны к регистру. "

Вот мой models.py :

class CustomUserManager(UserManager):

   def _create_user(self,email,password,first_name,last_name,**extra_fields):
       email = self.normalize_email(email)
       user = User(email=email)
       user.is_active=True
       user.password = make_password(password)
       user.save(using=self._db)
       return user
   def create_user(self,email,password,first_name,last_name,**extra_fields):
        return self._create_user(email,password,first_name,last_name,**extra_fields)

   def create_superuser(self,email,password,first_name,last_name,**extra_fields):
       """
       Create and save a SuperUser with the given email and password.
       """
       extra_fields.setdefault('is_staff', True)
       extra_fields.setdefault('is_superuser', True)
       extra_fields.setdefault('is_active',True)

       if extra_fields.get('is_staff') is not True:
           raise ValueError('Superuser must have is_staff=True.')
       if extra_fields.get('is_superuser') is not True:
           raise ValueError('Superuser must have is_superuser=True.')

       return self.create_user(email,password,first_name, last_name, **extra_fields)

class User(AbstractUser):
   username = None
   email = models.EmailField(unique=True, blank=False)
   first_name = models.CharField(blank=False,max_length=50)
   last_name = models.CharField(blank=False,max_length=50)
   REQUIRED_FIELDS=["first_name","last_name"]
   USERNAME_FIELD = 'email'
   objects = CustomUserManager()

EDIT : Спасибо Максу Кониеву, я забыл сказать, но у меня уже установлен AUTH_USER_MODEL для моей модели User в моем приложении private_portal : AUTH_USER_MODEL = 'private_portal.User'

Убедитесь, что вы установили AUTH_USER_MODEL в settings.py на вашу новую модель пользователя

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