Два проекта Django с общими моделями и бизнес-логикой

У меня есть два проекта Django, которые имеют разные варианты использования. Там достигаются с использованием разных доменов. Они размещены на двух разных серверах. Также каждый проект Django имеет свою собственную базу данных.

Теперь оба проекта имеют несколько моделей и общую бизнес-логику. Я не хочу дублировать код и данные, что будет хаотично в будущем. Кроме того, я хочу, чтобы модели и код (бизнес-логика) были синхронизированы (при изменении моделей / кода).

Может ли кто-нибудь направить меня к шаблону, который может помочь мне достичь необходимой архитектуры: 2 отдельных проекта с общими моделями и бизнес-логикой.

Заранее спасибо.

1 ответ

Решение

Я делал это раньше. Вам придется переместить совместно используемые модели и бизнес в новый пакет Python (лучше, если вы сможете создать приложение django, которое инкапсулирует эти модели), в отдельном каталоге.

Добавьте этот каталог в путь к Python (тот, который содержит пакет, а не сам пакет), и вы сможете использовать этот код в своих проектах.

Единственным недостатком этого является необходимость настройки PYTHON_PATH на ваших серверах или необходимость вручную копировать этот пакет в ваши среды выполнения.

Другие вопросы по тегам