При добавлении пользователя через админку не шифруется пароль

При добавлении через createsuperuser и через djoser всё шифруется нормально, а при добавлении через админку шифрования нет

models.py

from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
from django.contrib.auth.models import PermissionsMixin
from django.db import models

from account.validators import validate_nickname


class UserManager(BaseUserManager):
    def create_user(self, email, nickname, password=None):
        user = self.model(email=self.normalize_email(email), nickname=nickname)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_staffuser(self, email, nickname, password):
        user = self.create_user(
            email,
            nickname,
            password=password,
        )
        user.is_staff = True
        user.save(using=self._db)
        return user

    def create_superuser(self, email, nickname, password):
        user = self.create_user(email, nickname, password=password)
        user.is_superuser = True
        user.is_staff = True
        user.save(using=self._db)
        return user


class UserAccount(AbstractBaseUser, PermissionsMixin):
    nickname = models.CharField(max_length=60, unique=True, validators=[validate_nickname])
    email = models.CharField(max_length=100, unique=True)
    password = models.CharField(max_length=255)
    registered = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(default=0)
    money = models.IntegerField(default=0)
    uuid = models.CharField(max_length=36, blank=True, null=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)

    USERNAME_FIELD = "nickname"
    EMAIL_FIELD = "email"

    REQUIRED_FIELDS = ["email", "password"]

    objects = UserManager()

    class Meta:
        db_table = "user_accounts"
        verbose_name = "Аккаунт"
        verbose_name_plural = "Аккаунты"

admin.py

from django.contrib import admin
from django.contrib.admin import register
from django.contrib.auth.models import Group

from account.models import UserAccount


@register(UserAccount)
class UserAccountAdmin(admin.ModelAdmin):
    exclude = ["last_login", "groups"]


admin.site.unregister(Group)

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