Обновления в accounts: модели, представления, миграции и новый бэкенд
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user