@MAGistr_MTM
Учусь программировать

Несколько баз данных в Django. Реально ли?

Доброго времени суток.

Читал, что Джанго поддерживает несколько баз данных в одном проекте. Это как раз меня устраивает, так как есть задание организовать структуру из пяти магазинов с общим складом. Поскольку цены в магазинах могут отличатся, как и сам ассортимент, то решил сделать следующим образом:
Всю информацию держать в двух базах данных. В первой базе(уникальной для каждого магазина) буде вся информация об этом магазине(клиенты, корзины, товары, цены и тп) кроме количества товаров на складе. А само количество будет храниться в отдельной общей базе данных. В которой буде только АйДи_продукта, количество_на_складе, зарезервировано и пороговое_количество. Но потом я прочитал, что Джанго не может связать поле через ForeignKey с другой базой. Это можно как-то обойти? Или может я что-то не так понял.

Или все же оставить эту затею, и просто сделать 5 разных баз данных и синхронизировать их по трем параметрам со склада? Если этот вариант лучше, подскажите пожалуйста как реализовать.

Может у кого-то будет лучшее решение. Буду очень благодарен за помощь.

П.С. В Джанго новичок(И это не совсем Джанго, а Джанго-Оскар)
П.П.С. Извините за мой плохой русский.
  • Вопрос задан
  • 1348 просмотров
Пригласить эксперта
Ответы на вопрос 2
barker
@barker
> Но потом я прочитал, что Джанго не может связать поле через ForeignKey с другой базой.

А вообще БД какие-то так умеют? Вы это вообще как представляете себе? Ну храните там не ForeignKey а просто int на какое-то значение, но ручками придётся учитывать. Ну несколько баз можно запросто, в джанге: https://docs.djangoproject.com/en/1.8/topics/db/mu... , думаю вы там уже сами читали.
Ответ написан
Комментировать
Tiendil
@Tiendil
Разработчик ПО.
Ни одна база так не умеет, это нарушает саму концепцию БД.

Идеологически верная архитектура:

- N отдельных магазинов, хранящих свои внутренние данные в своих базах.
- 1 общий сервис (с отдельной базой), который управляет общими данными и в который другие обращаются по необходимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы