Недостатки регистрации с помощью электронной почты с использованием AbstractUser, а не AbstractBaseUser

Меня полностью устраивает стандартная модель пользователя Django, и я хотел бы расширить ее, AbstractUser кажется, описывает мою ситуацию,

Если вас полностью устраивает модель пользователя Django, но вы хотите добавить некоторую дополнительную информацию о профиле, вы можете создать подкласс django.contrib.auth.models.AbstractUser и добавить свой пользовательский профиль поля

Но я также узнал, что если вы хотите войти в систему с помощью Email, вам следует использовать AbstractBaseUser,

Если вы хотите использовать адрес электронной почты в качестве аутентификации вместо имя пользователя, то лучше расширить AbstractBaseUser

.

Моя текущая модель использует AbstractUser и не AbstractBaseUser, я могу войти в систему с помощью электронной почты просто отлично, Какова потенциальная отрицательная сторона этого в долгосрочной перспективе?

У меня есть планы разрешить пользователю входить в систему с помощью Email или телефона в будущем, сейчас только Email, но, похоже, это как-то связано с AUTHENTICATION_BACKENDS независимо от того, что вы используете, Что потенциально может пойти не так, если я продолжу с AbstractUser или должен ли я быть осторожным и использовать AbstractBaseUser?

Согласно Django Docs, очень сложно изменить дефолтную модель пользователя на пользовательскую модель пользователя в среднем проекте, Тогда насколько хлопотно будет изменить AbstractUser на AbstractBaseUser?

from django.db import models
from django.contrib.auth.models import AbstractUser

class Account(AbstractUser):
    email = models.EmailField(unique=True)
    is_mvp = models.BooleanField(default=False)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []
Вернуться на верх