Обновления в accounts: модели, представления, миграции и новый бэкенд

This commit is contained in:
2026-01-08 22:09:38 +03:00
parent dbf00dab29
commit 796fd8fe18
4 changed files with 139 additions and 15 deletions

View File

@@ -43,17 +43,27 @@ class CustomUserManager(BaseUserManager):
class CustomUser(AbstractUser):
"""
Пользователь тенанта (магазина).
ВАЖНО: Эта модель в TENANT_APPS - каждый тенант имеет свою таблицу!
Один email в разных тенантах = разные записи в разных схемах БД.
Полная изоляция обеспечивается на уровне PostgreSQL schemas.
НЕ является AUTH_USER_MODEL (это PlatformAdmin).
"""
email = models.EmailField(unique=True)
name = models.CharField(max_length=100)
is_email_confirmed = models.BooleanField(default=False)
email_confirmation_token = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
email_confirmed_at = models.DateTimeField(null=True, blank=True)
password_reset_token = models.UUIDField(null=True, blank=True, editable=False, unique=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['name']
objects = CustomUserManager() # Добавляем кастомный менеджер
objects = CustomUserManager()
# Изменяем related_name для избежания конфликта с встроенной моделью User
groups = models.ManyToManyField(
@@ -71,6 +81,10 @@ class CustomUser(AbstractUser):
help_text='Specific permissions for this user.',
)
class Meta:
verbose_name = "Пользователь магазина"
verbose_name_plural = "Пользователи магазина"
def __str__(self):
return self.email