Текущая ситуация
- В моем проекте Django есть 3 приложения:
auth
, polls
и school
. AUTH_USER_MODEL
в моих настройках auth.models.User
и используется всеми приложениями. - URL
login/
в urls.py
также используется всеми тремя приложениями.
Что мне нужно сделать
Я хочу добавить некоторые методы только пользователям приложения school
.Для этого я создал модель school.models.User
с мета proxy = True
.Эта модель наследует от auth.models.User
.
Проблема
Когда пользователь входит в систему, request.user
содержит «базовый» auth.models.User
объект, независимо от того, какое приложение использует пользователь.
Как я могу заполнить request.user
другой моделью пользователя, в зависимости от приложения?
Я попытался использовать пользовательский бэкэнд аутентификации, как предложено в Django - Модель прокси пользователя из запроса , но у меня нет способа определить, какое приложение использует пользователь, поэтому я не могу различить polls
и school
в бэкэнде аутентификации.