Разница между AbstractUser и AbstractBaseUser в Django?
Использование AbstractUser
и AbstractBaseUser
выглядит довольно похоже.
from django.contrib.auth.models import AbstractUser, AbstractBaseUser
В чем разница между двумя?
Ответы
Ответ 2
The AbstractUser - это в основном просто класс "Пользователь", к которому вы, вероятно, уже привыкли. AbstractBaseUser делает меньше предположений, и вам нужно сказать, какое поле представляет имя пользователя, какие поля необходимы и как управлять этими пользователями.
Если вы просто добавляете вещи существующему пользователю (т.е. данные профиля с дополнительными полями), используйте AbstractUser, потому что это проще и проще. Если вы хотите переосмыслить некоторые предположения Django об аутентификации, то AbstractBaseUser дает вам возможность сделать это.