Django网站具有用户身份验证,只有几个用户才能登录,所以它非常隐私。如果用户登录,则他从多个API系统获取数据,网站中显示的内容。我有一个数据库,我为每个userID和其他数据库提供不同的API令牌,用于Django身份验证的用户帐户,这是默认情况下制作的Django系统。我应该如何获得两个数据库的ID:那么我可以使用正确的API令牌发出API请求?
答案 0 :(得分:0)
这取决于您的数据库配置。但你可以manually select database for QuerySet with ".using()" method。
对于那个设置:
DATABASES = {
'default': {
'NAME': 'main_db', # Here we store Users
'ENGINE': 'django.db.backends.sqlite3',
},
'auth': {
'NAME': 'auth_db', # Here we store API tokens
'ENGINE': 'django.db.backends.sqlite3',
},
然后,要使用指定的电子邮件获取用户的API令牌,您可以使用:
user = User.objects.using('default').get(email='john@example.com')
token = ApiKey.objects.using('apikeys').get(user_id=user.id)