from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin from django.db import models from django.utils import timezone from django.core.validators import MinLengthValidator from .managers import CustomUserManager class User(AbstractBaseUser, PermissionsMixin): login = models.CharField(max_length=16, validators=[MinLengthValidator(4)], verbose_name="Логин", unique=True) is_staff = models.BooleanField(default=False, verbose_name="Администратор") registered = models.DateTimeField(default=timezone.now, editable=False, verbose_name="Время регистрации") last_password_change = models.DateTimeField(default=timezone.now, verbose_name="Последняя смена пароля") USERNAME_FIELD = "login" REQUIRED_FIELDS = [] objects = CustomUserManager() def __str__(self): return self.login