Django запрос удаленной базы данных - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь запросить, в проекте django "FIRST", существующая база данных для другого проекта django "SECOND", развернутого на двух разных машинах.Мне нужно получить в приложении 1 значения модели атрибута в приложении 5 (как описано ниже).Я ищу "как django запрашивает удаленную базу данных", но я не нашел ответа на свой вопрос

Спасибо,

Машина 1 (192.xxx.xx.xx):

     ----- project FIRST 
                    ------APP1
                    ------APP2

Машина 2 (192.yyy.yy.yy):

     ----- project SECOND 
                    ------APP3
                    ------APP4
                    ------APP5

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Я использовал решение Диркгротена. Это работает для меня на тестовой плите (с контейнером докера).

Следующие шаги:

  • создать новое приложение django с тем же именем, что и приложение App5 в проекте "FIRST".

  • скопируйте в models.py (например, FIRST / app5 / models.py) только те таблицы и поля, которые мне нужно получить из SECOND / app5.models.py

  • добавить новое app5 в INSTALLED_APP в FIRST / settings.py

  • добавить в БАЗАХ ДАННЫХ FIRST / settings.py определение параметров, позволяющих проекту подключаться к удаленной базе данных.

  • добавить базу данных маршрутов в файл routers.py

  • Не забудьте импортировать модели нового приложения 5 в приложение 1

обратите внимание, что если у ваших таблиц есть другие отклонения таблиц от models.py, вы должны добавить их и в новые models.py

Я понимаю, что я не забыл ни одного другого шага

Спасибо всем за ваши ответы

(PS: извините за мой плохой английский)

0 голосов
/ 03 апреля 2019

Вам нужен RESTful API.

Большая тема, и я на самом деле только что ответил на нее для другого человека.

Я предлагаю вам проверить это здесь.

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

По крайней мере, это один из способов сделать это.

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