Django несколько проектов с использованием одинаковых таблиц базы данных - PullRequest
0 голосов
/ 29 января 2020

Я читал соответствующие статьи, касающиеся использования одной и той же базы данных для нескольких django проектов, однако я пока не смог найти исправления. Я пробовал относительный и абсолютный путь при импорте, но выдает ошибку «попытка относительного импорта за пределы пакета верхнего уровня», когда я пытаюсь получить доступ к родительскому каталогу.

Проект 1 заставляет пользователей писать в базу данных, заполняя форма и Project 2 извлекают данные, записанные пользователями из базы данных.

Я использую Postgresql для базы данных. Я пытался написать одинаковые модели models.py для обоих проектов, но в базе данных они выглядят как отдельные отношения / таблицы. Например, для таблицы с именем school в обоих models.py она будет выглядеть как project1_school и project2_school в базе данных Postgres.

Есть ли способ записи и чтения из одних и тех же таблиц одной базы данных?

Большое спасибо заранее.

1 Ответ

1 голос
/ 29 января 2020

Я думаю, что вы можете быть смущены различием между проектами и приложениями.

Проекты и приложения

В чем разница между проектом и приложением? Приложение - это веб-приложение, которое что-то делает, например, система Weblog, база данных записей publi c или небольшое приложение для опроса. Проект - это набор настроек и приложений для конкретного сайта. Проект может содержать несколько приложений. Приложение может быть в нескольких проектах.

Написание вашего первого Django приложения, часть 1

Так что в вашем конкретном случае я бы сказал, что ваше Реальные проекты, оба они могут быть приложениями одного проекта. Основная причина, почему я считаю, что это лучший подход, заключается в том, что оба будут использовать одни и те же данные, одно приложение пишет, а другое - извлекать их. Можно даже утверждать, что на самом деле они могут быть одним и тем же приложением. Но это может зависеть от многих факторов вашего бизнеса.

Кстати, мне действительно сложно представить ситуацию, когда было бы неплохо иметь два проекта, использующих одну и ту же базу данных. Даже если обоим проектам нужно обмениваться данными, я бы не подумал об использовании базы данных. Я бы попытался решить это на уровне приложения. Но мне нужно по какой-то причине делиться информацией на уровне базы данных, есть инструменты для соединения обеих баз данных.

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