我试图在我的项目中有两个身份验证后端。 我的应用程序的默认数据库是MongoDB,但我使用的是另一个使用SQLite构建的应用程序,我需要从MongoDB获得用户的副本,但是我认为由于MongoEngine,我无法找到以下方式访问SQLite DB的方法:
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数据库