Отсутствие двойной аутентификации при использовании моделей пользователей в Django

Я хочу сделать свой первый студенческий проект на Django и пытаюсь сделать систему управления, которая имеет две аутентификации с одного сайта. Я хочу иметь форму регистрации сотрудников и форму регистрации клиентов, если это возможно. Я сделал одну модель AppBaseUser, которая наследует AbstractUser, и две другие модели - одну для клиентов, и одну для персонала, ведь я сделаю это в формах в шаблоне. Они наследуют AppBaseUser и расширяют ее. Все работает, но у меня нет двойной аутентификации по паролю и пароль в виде обычного текста, а не в виде хэша в DB.


class AppBaseUser(AbstractUser): MIN_LEN_FIRST_NAME = 2 MAX_LEN_FIRST_NAME = 40

MIN_LEN_LAST_NAME = 2
MAX_LEN_LAST_NAME = 40

first_name = models.CharField(
    max_length=MAX_LEN_FIRST_NAME,
    null=False,
    blank=False,
    validators=[
        validators.MinLengthValidator(MIN_LEN_FIRST_NAME),
        validate_only_letters,
    ]
)

last_name = models.CharField(
    max_length=MAX_LEN_LAST_NAME,
    null=False,
    blank=False,
    validators=[
        validators.MinLengthValidator(MIN_LEN_LAST_NAME),
        validate_only_letters,
    ]
)

email = models.EmailField(
    unique=True,
    null=False,
    blank=False,
)

class AppCustomerUser(AppBaseUser): MAX_LEN_PHONE_NUMBER = len('+359-888-88-88-88') MIN_LEN_PHONE_NUMBER = len('+359888888888')

# TODO Make it with enumerate!
GENDER_CHOICES = [('Male', 'Male'), ('Female', 'Female'), ('Do not show', 'Do not show'),]
MAX_LEN_GENDER = len('Do not show')

HAIR_TYPES_CHOICES = [
    ('Straight hair', 'Straight hair'),
    ('Wavy hair', 'Wavy hair'),
    ('Curly hair', 'Curly hair'),
    ('Kinky hair', 'Kinky hair'),
    ('I am not sure', 'I am not sure'),
]
MAX_LEN_HAIR_TYPES = len('I am not sure')

HAIR_LONG_CHOICES = [
    ('Short hair', 'Short hair'),
    ('Middle hair', 'Middle hair'),
    ('Long hair', 'Long hair'),
    ('Very long hair', 'Very long hair'),
    ('I am not sure', 'I am not sure'),
]
MAX_LEN_HAIR_LONG = len('Very long hair')

MAX_LEN_FURTHER_EXPLANATION = 250

phone_number = models.CharField(
    max_length=MAX_LEN_PHONE_NUMBER,
    validators=[validators.MinLengthValidator(MIN_LEN_PHONE_NUMBER),],
    null=False,
    blank=False,
)

gender = models.CharField(
    max_length=MAX_LEN_GENDER,
    choices=GENDER_CHOICES,
)

hair_type = models.CharField(
    max_length=MAX_LEN_HAIR_TYPES,
    choices=HAIR_TYPES_CHOICES,
)

hair_long = models.CharField(
    max_length=MAX_LEN_HAIR_LONG,
    choices=HAIR_LONG_CHOICES,
)

further_explanation = models.TextField(
    max_length=MAX_LEN_FURTHER_EXPLANATION,
    null=True,
    blank=True,
)

# USERNAME_FIELD = "email"

is_staff = False
is_superuser = False

def __str__(self):
    return f'{self.get_full_name()} - {self.pk}'

class AppStaffUser(AppBaseUser): is_staff = True is_superuser = False

MAX_LEN_POSITION = 100

position = models.CharField(
    max_length=MAX_LEN_POSITION,
    null=False,
    blank=False,
)

У меня в settings.py ---->


AUTH_USER_MODEL = 'accounts.AppBaseUser'


Я пытаюсь изменить настройки, и пытаюсь наследовать AbstractBaseUser, но безрезультатно.

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