settings.AUTH_USER_MODEL = abstract class
столкнулся с проблемой. Не понимаю что должно быть в AUTH_USER_MODEL. У меня есть абстрактный класс от которого унаследованы три класса. Что должен содержать AUTH_USER_MODEL?, при указании абстрактного класса AbstractUser вылезает ошибка.
django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'MoveOnApp.AbstractUser' that has not been installed
Ниже привел структуру моделей
class AbstractUser(AbstractBaseUser, PermissionsMixin):
class Meta:
abstract = True
class Participant(AbstractUser):
pass
class Admin(AbstractUser):
pass
class Partner(AbstractUser):
pass
Ответы (1 шт):
Django не может использовать абстрактную модель в качестве модели пользователя.
Выберете одну модель, которая будет наследоваться от AbstractUser, так как Django в обычном случае не может использовать множественные модели пользователя. Эту единственную модель вы должны указать в settings.AUTH_USER_MODEL = ‘app_name.ModelName’. Эта настройка указывает Django какую модель использовать в качестве пользовательской.
Учтите, что эти манипуляции необходимо выполнить до первой миграции. В вашем случае будет сложно изменить модель пользователя в существующем проекте с уже сделанными миграциями.
Почитайте подробнее про стратегии расширения пользовательской модели.
В Django используется вот такая схема: User наследуется от AbstractUser, которая наследуется от AbstractBaseUser