Невозможно войти в админку Django с пользовательским суперпользователем

Я разрабатываю систему управления школой, в которой я создаю пользовательского пользователя, расширяя модель User с помощью AbstractUser. Мне удается создать суперпользователя, используя модель пользовательского пользователя, но всякий раз, когда я пытаюсь войти в систему, используя учетную запись суперпользователя, Django выдает следующую ошибку

Пожалуйста, введите правильное имя пользователя и пароль для учетной записи персонала. Обратите внимание, что оба поля могут быть чувствительны к регистру.

Это моя модель пользовательского пользователя

class CustomUser(AbstractUser):
ADMIN = "1"
STAFF = "2"
STUDENT = "3"

Email_to_User_Type_Map = {
    'admin': ADMIN,
    'staff': STAFF,
    'student': STUDENT
}
user_type_data = ((ADMIN, 'Admin'), (STAFF, 'Staff'), (STUDENT, 'Student'))
user_type = models.CharField(
    default=1, choices=user_type_data, max_length=10)

Нижеприведенная функция представляет собой создание пользовательской функции

def create_customUser(username, email, password, email_status):
new_user = CustomUser()
new_user.username = username
new_user.email = email
new_user.password = password
if email_status == "staff" or email_status == "student":
    new_user.is_staff = True
elif email_status == "admin":
    new_user.is_staff = True
    new_user.is_superuser = True

new_user.is_active = True
new_user.save()

помогите

<

Простите, ребята, но я нашел ответ после получения подсказки из ответа @Mukhtor. Я создаю экземпляр модели CustomUser, который создает суперпользователя, но не генерирует хэш-пароль, поэтому я немного изменил свой код и теперь он работает нормально.

Модифицированная функция create_customer

def create_customUser(username, email, password, email_status):
new_user = CustomUser.objects.create_user(
    username=username, email=email, password=password)
if email_status == "staff" or email_status == "student":
    new_user.is_staff = True
elif email_status == "admin":
    new_user.is_staff = True
    new_user.is_superuser = True

new_user.is_active = True
new_user.save()

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