Вы предоставляете реплику чтения определенному приложению в Django? - PullRequest
0 голосов
/ 08 мая 2019

В проекте django есть несколько приложений, и теперь они имеют доступ к одной и той же БД.Если я хочу, чтобы одно приложение, имеющее только запросы на чтение для чтения из реплики чтения, придется ли мне добавлять маршрутизаторы для обеих баз данных или создавать один маршрутизатор для реплики чтения и назначать его приложению?Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 08 мая 2019

вы можете использовать несколько баз данных, как определено в документации: https://docs.djangoproject.com/en/2.0/topics/db/multi-db/

Ex:

DATABASES = {
    'default': {
        'NAME': 'user_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'password1'
    },
    'read_replica': {
        'NAME': 'customer_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_cust',
        'PASSWORD': 'password2'
    } 
}

После использования маршрутизатора базы данных (django.db.router): https://docs.djangoproject.com/en/2.0/topics/db/multi-db/#using-routers Также есть конфигурация DATABASE_ROUTERS.

...