【发布时间】:2022-01-21 12:40:36
【问题描述】:
我使用 DRF 创建项目,我使用两个数据库别名:Default 和 Oracle。在 oracle 数据库上有所有 django 表。如果 auth_user 在 oracle 而不是默认数据库上,我如何使用身份验证。
【问题讨论】:
标签: django django-rest-framework
我使用 DRF 创建项目,我使用两个数据库别名:Default 和 Oracle。在 oracle 数据库上有所有 django 表。如果 auth_user 在 oracle 而不是默认数据库上,我如何使用身份验证。
【问题讨论】:
标签: django django-rest-framework
您好,从 Django 的文档中可以看出,您可以运行多个数据库,但您需要根据需要检索/写入/删除的模型重新编写大部分序列化程序/视图。 这是文档的链接: https://docs.djangoproject.com/en/4.0/topics/db/multi-db/
>>> # This will run on the 'default' database.
>>> Author.objects.all()
>>> # So will this.
>>> Author.objects.using('default').all()
>>> # This will run on the 'replica1' database.
>>> Author.objects.using('replica1').all()
DATABASES = {
'default': {},
'auth_db': {
'NAME': 'auth_db_name',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'swordfish',
},
'primary': {
'NAME': 'primary_name',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'spam',
},
'replica1': {
'NAME': 'replica1_name',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'eggs',
},
'replica2': {
'NAME': 'replica2_name',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'bacon',
},
}
【讨论】: