Несколько базы данных при входе в Django - PullRequest
1 голос
/ 05 апреля 2019

У меня есть приложение, которое использует БД (по умолчанию), теперь проблема в том, что клиенту требуется несколько Factory.

Одна БД для одной Фабрики. Идея состоит в том, чтобы при входе клиента выбрать Фабрику, написать имя пользователя и пароль и перенаправить данные выбранной Фабрики.

enter image description here

Проблема заключается в том, как переключить соответствующую БД в качестве принципала при входе пользователя в систему.

Я читаю Документацию, но не говорю об этой теме, пожалуйста, любые предложения, я не знаю, с чего начать .. !!

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

Вы можете создать собственную модель, которая будет отслеживать ваши базы данных и назначать им пользователей на основе созданного вами правила.Затем вы можете использовать метод .using() QuerySet для извлечения информации на основе связанной базы данных пользователя.

https://docs.djangoproject.com/en/dev/topics/db/multi-db/

https://docs.djangoproject.com/en/dev/topics/db/multi-db/#defining-your-databases

https://docs.djangoproject.com/en/dev/topics/db/multi-db/#manually-selecting-a-database-for-a-queryset

0 голосов
/ 25 апреля 2019

Расследование Я нашел очень интересную концепцию Мультитенант

Приложения с Multi-Tenant позволяют обслуживать несколько клиентов с одним приложением.

У каждого клиента свои данные полностью изолированы в такой архитектуре.

Арендаторы идентифицируются по имени хоста (т.е. tenant.domain.com). Эта информация хранится в таблице в общедоступной схеме.

Всякий раз, когда делается запрос, имя хоста используется для соответствия арендатору в базе данных. Если совпадение найдено, путь поиска обновляется для использования схемы этого арендатора. Таким образом, теперь все запросы будут выполняться по схеме арендатора.

Джанго-DB-1018 * Многоквартирный *

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