База данных множественной аутентификации Django, MongoDB и SQLite - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь использовать два бэкэнда аутентификации в своем проекте. База данных по умолчанию для моего приложения - 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...