Как настроить несколько проектов django для доступа к одной базе данных и моделям
У меня есть один проект django, который служит в качестве API и содержит базу данных и несколько приложений с моделями, миграциями базы данных и так далее.
Я хочу иметь пользовательский интерфейс администратора, а также django-admin, которые доступны только через интранет. Возможно ли это в рамках одного проекта django, в то время как другие приложения доступны извне интранета? И если нет, то возможно ли иметь два проекта django. Один, который служит в качестве API, содержащий базу данных, модели и миграции. А другой содержит только django-admin и мое пользовательское приложение интерфейса администратора, которое может получить доступ к базе данных и моделям из другого проекта?
Ваш вопрос состоит из двух частей.
- Как разделить базу данных между проектами Django? Вам просто нужно передать одинаковые учетные данные базы данных (HOST, DB_NAME, USERNAME и PASSWORD) для подключения к одной и той же базе данных .
- Как обмениваться моделями? Я опишу здесь два варианта .
Создание приложения Django для содержания ваших моделей(рекомендуется)
Вы можете создать приложение Django, содержащее ваши общие модели. Этот учебник объяснит, как это сделать.
https://realpython.com/installable-django-app/
Затем, вам просто нужно установить ваше приложение в ваши проекты Django.
Копирование вставка кода вашей модели.
Вы можете легко копировать и вставлять коды моделей в разные проекты, но синхронизация между ними будет проблемой и не рекомендуется.