Я посмотрел на код, и моя идея здесь. Поздно, но я думаю, что может быть полезным для других
В файле myapp / backends.py
from django.contrib.auth import backends
from models import ProxyUser
class ModelBackend(backends.ModelBackend):
'''
Extending to provide a proxy for user
'''
def get_user(self, user_id):
try:
user = ProxyUser.objects.get(pk=user_id)
except ProxyUser.DoesNotExist:
return None
return user if self.user_can_authenticate(user) else None
И на settings.py
AUTHENTICATION_BACKENDS = (
'myapp.backends.ModelBackend',
)