Я пытаюсь использовать два бэкэнда аутентификации в своем проекте. База данных по умолчанию для моего приложения - MongoDB, но я использую другое приложение, созданное на SQLite, где мне нужна копия пользователей из MongoDB, но я думаю, что, поскольку MongoEngine не может найти способ доступа к БД SQLite с помощью чего-то вроде:
Users.objects.get(username='username')
Код, который я имею в настройках:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'mongoengine.django.auth.MongoEngineBackend',
)
_MONGODB_USER = '****'
_MONGODB_PASSWD = '****'
_MONGODB_HOST = '127.0.0.1'
_MONGODB_NAME = '****'
_MONGODB_DATABASE_HOST = \
'mongodb://%s:%s@%s/%s' \
% (_MONGODB_USER, _MONGODB_PASSWD, _MONGODB_HOST, _MONGODB_NAME)
connect(_MONGODB_NAME, host=_MONGODB_DATABASE_HOST, max_pool_size=None)
AUTH_USER_MODEL = 'mongo_auth.MongoUser'
MONGOENGINE_USER_DOCUMENT = 'mongoengine.django.auth.User'
Я думаю, что проблема в AUTH_USER_MODEL и MONGOENGINE_USER_DOCUMENT, который переопределяет аутентификацию по умолчанию, которая будет с SQLite, но я попытался удалить ее, и я получаюошибка типа: «Произошла ошибка сервера, свяжитесь с администратором»
Как можно использовать два метода аутентификации? Я также пытался написать свой собственный backend.py, но проблема все та же, я не могу получить доступ к
Users.objects.get(username='username')
из БД SQLite