【问题标题】:Django 4.0.1 authentication from not default database来自非默认数据库的 Django 4.0.1 身份验证
【发布时间】:2022-01-21 12:40:36
【问题描述】:

我使用 DRF 创建项目,我使用两个数据库别名:Default 和 Oracle。在 oracle 数据库上有所有 django 表。如果 auth_user 在 oracle 而不是默认数据库上,我如何使用身份验证。

【问题讨论】:

标签: django django-rest-framework


【解决方案1】:

您好,从 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',
    },

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-24
    • 2015-08-13
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多