Замените в старом проекте существующую модель Django User на мою модель User

У меня есть старый проект, в котором есть модель пользователя, созданная по умолчанию.

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

Мы переопределили модель пользователя следующим образом:

class Staff(AbstractUser):
    # ... new fields ...

    # no need in model
    user_permissions = None
    groups = None

    class Meta(AbstractUser.Meta):
        db_table = 'auth_user'
        swappable = "AUTH_USER_MODEL"

Далее мы добавили его в файл settings.py:

# user model
AUTH_USER_MODEL = 'test.Staff'
# django authentication backend
AUTHENTICATION_BACKENDS = [
    # 'django.contrib.auth.backends.ModelBackend', # Django's default authentication backend
    'test.backends.ModelBackend',  # Custom authentication backend
]

необходимые строки, и мы не можем начать миграцию (только повторно запустить для тестов).

ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'test.staff', but app 'test' doesn't provide model 'staff'

Подскажите, пожалуйста, как правильно заменить пользователей в django.

Вернуться на верх