Здравствуйте! Не гневитесь если этот вопрос где то подымался, честное слово искал, смотрел не нашел. Прошу помощи у знатоков. Собственно к сути вопроса. С Django я не так давно, но стараюсь развиваться очень интересно. Пишу проект и стандартная модель User не устраивает вообше. Погуглил почитал остановился на методе с переопределением модели на свою.

Пример моей модели.

from django.contrib.auth.base_user import BaseUserManager from django.core.mail import send_mail from django.contrib.auth.base_user import AbstractBaseUser from django.contrib.auth.models import PermissionsMixin from django.contrib.auth.validators import UnicodeUsernameValidator from django.db import models from uuid import uuid4 from datetime import datetime from django.contrib.auth.hashers import make_password

class UserManager(BaseUserManager): use_in_migrations = True

def _create_user(self, email, full_name, password, **extra_fields):
    """
    Create and save a user with the given email,
    full_name, and password.
    """
    if not email:
        raise ValueError('email должен быть указан')
    if not full_name:
        raise ValueError('ФИО должно быть указанно')
    email = self.normalize_email(email)
    user = self.model(
        email=email, full_name=full_name,
        **extra_fields
    )
    user.set_password(make_password(password))
    user.save(using=self._db)
    return user

def create_user(self, email, full_name, password=None, **extra_fields):
    extra_fields.setdefault('is_staff', False)
    extra_fields.setdefault('is_superuser', False)
    return self._create_user(
        email, full_name, password, **extra_fields
    )

def create_superuser(self, email, full_name, password, **extra_fields):
    extra_fields.setdefault('dob', datetime.now())
    extra_fields.setdefault('is_staff', True)
    extra_fields.setdefault('is_superuser', 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, full_name, password, **extra_fields
    )

class User(AbstractBaseUser, PermissionsMixin): username_validator = UnicodeUsernameValidator()

email = models.EmailField(
    unique=True,
    blank=False,
    null=False,
    verbose_name='E-Mail сотрудника'
)
full_name = models.CharField(
    max_length=255,
    null=False,
    blank=False,
    verbose_name='ФИО сотрудника'
)
dob = models.DateField(
    null=False,
    blank=False,
    verbose_name='Датв рождения сотрудника'
)
emp_uid = models.UUIDField(
    unique=True,
    default=uuid4,
    verbose_name='Уникальный индекс пользователя'
)
password = models.CharField(
    max_length=150,
    blank=False,
    null=False,
    verbose_name='Пароль'
)
is_active = models.BooleanField(
    default=True,
    verbose_name='Сотрудник активен'
)
is_staff = models.BooleanField(
    default=False,
    verbose_name='Наличие привилегий'
)

USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['full_name']

objects = UserManager()

def __str__(self):
    return self.email

def get_short_name(self):
    return self.email

def get_full_name(self):
    return self.full_name

def email_user(self, subject, message, from_email=None, **kwargs):
    send_mail(subject, message, from_email, [self.email], **kwargs)

class Meta:
    verbose_name = 'Сотрудник'
    verbose_name_plural = 'Сотрудники'

Все бы ничего, но нарушилась работа админки. Мне показывается просто страниц с предложением заполнить поля. И все не так при вводе пользователя как на чистом проекте. Пароль остается текстом, назначение прав не работает. Что делать? Как поправить? Где почитать? Или все так и должно работать и после смены модели все тяготы ложатся на программиста? Спасибо за помощь, буду благодарен! https://ibb.co/hvk3s9