Django 4.0.1 аутентификация из базы данных не по умолчанию

Я создаю проект с помощью DRF, я использую два псевдонима базы данных: Default и Oracle. В базе данных oracle есть все таблицы django. Как я могу использовать authenticate, если auth_user находится на базе данных oracle, а не default.

Здравствуйте, как видно из документации Django, вы можете работать с несколькими базами данных, но вам нужно переписать большинство ваших Serializers/Views в зависимости от моделей, которые вам нужно получить/записать/удалить. Вот ссылка на документацию: 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',
    },

}

Вернуться на верх