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 шт):

Автор решения: Sergey S.

Django не может использовать абстрактную модель в качестве модели пользователя.

Выберете одну модель, которая будет наследоваться от AbstractUser, так как Django в обычном случае не может использовать множественные модели пользователя. Эту единственную модель вы должны указать в settings.AUTH_USER_MODEL = ‘app_name.ModelName’. Эта настройка указывает Django какую модель использовать в качестве пользовательской.

Учтите, что эти манипуляции необходимо выполнить до первой миграции. В вашем случае будет сложно изменить модель пользователя в существующем проекте с уже сделанными миграциями.

Почитайте подробнее про стратегии расширения пользовательской модели.

В Django используется вот такая схема: User наследуется от AbstractUser, которая наследуется от AbstractBaseUser

→ Ссылка