Как динамически изменить базу данных в Django? - PullRequest
2 голосов
/ 29 июня 2011

Возможно ли динамическое изменение активной базы данных в Django?Например, используйте одну БД для вставок и обновлений, а другую - для операций только для чтения.

Ответы [ 2 ]

8 голосов
/ 29 июня 2011

Это возможно, настроив несколько баз данных в ваших настройках, а затем используя маршрутизатор, чтобы указать, какая конфигурация базы данных должна использоваться для чтения и записи.

Перейдите на https://docs.djangoproject.com/en/1.3/topics/db/multi-db/#database-routers и найдите «MasterSlaveRouter", который содержит пример кода именно для того, что вы запрашиваете.

1 голос
/ 21 января 2013

Также можно вручную выбирать базы данных в запросах и сохранять, как объяснено в Django Docs для нескольких баз данных

По существу, каждый использует аргумент ключевого слова using, как в

obj.save(using='alias'

и метод использования QuerySet, подобный этому:

Model.objects.using('alias').all()

alias - это имя, данное базе данных в пункте DATABASES настроек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...