Совместное использование моделей между двумя разными проектами Django

У меня есть два разных проекта Django, которые должны использовать совершенно одинаковые db & одинаковые модели и работать на разных серверах. Я не хочу определять одни и те же модели дважды в обоих приложениях, так как модели могут измениться, и изменения должны быть сделаны на обеих сторонах. Каким будет лучшее решение, чтобы определить модели один раз и использовать одни и те же модели в обоих проектах?

Мне нужен был аналогичный подход для доступа к унаследованной базе данных из некоторых других django проектов. Я создал обычный проект django с общими моделями и методами. Далее, в других проектах, в верхней части моего settings_local.py файла, я добавил этот общий проект в путь python:

import os
import sys

PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.append(os.path.join(PROJECT_ROOT, 'my', 'relative', 'path', 'to', 'common_project'))

А затем добавьте приложения в общем проекте в INSTALLED_APPS в зависимые другие.

Итак, я смог легко импортировать эти распространенные модели:

from common_project.app.models import MyModel

Вам стоит взглянуть на это!

https://docs.djangoproject.com/en/2.2/howto/legacy-databases/

Вернуться на верх