Различная модель прокси пользователя для приложения в объекте запроса - PullRequest
0 голосов
/ 24 апреля 2018

Текущая ситуация

  • В моем проекте 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 в бэкэнде аутентификации.

...