Можно ли использовать админку Django для общения с удаленной базой данных по API?

Я начинаю изучать Django, поэтому не судите строго) Вопрос: есть база данных и бэкэнд интернет магазина, на стороннем сервере, моя задача сделать для него админку, общение с базой данных будет происходить по API, можно ли в данном случае как-то прикрутить к этому делу админку Django? Я вижу один вариант, получить JSON, парсим его в свою модель в джанго, и с этой моделью работаю подключив ее к админке джанго. Подскажите люди добрые с какой стороны к этому делу подойти? Правильно ли я размышляю либо есть вариант лучше?

Пологаю теоретически это возможно. Но не через общение по HTTP API, а напрямую использовав подключение к базе на удаленном сервере. В описаниях моделей вам нужно будет позаботитсья вручную (что обычно делает джанга автоматически) о привязке ваших моделей к конкретным таблицам баз данных, а именно определять в моделях такой параметр как:

db_table = "music_album" #имя таблицы к которой относится модель

https://docs.djangoproject.com/en/5.0/ref/models/options/ - подробнее тут

Ваша база данных и веб-сервер могут находиться на разных серверах. Вам просто нужно указать в файле настроек хост. См. https://docs.djangoproject.com/en/dev/ref/settings/#databases .

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

Если же возможности удаленного соединения с БД у Вас нет, а есть только HTTP API, то опять таки...просто создаете свою БД(путём стандартного описания моделей и выполнения миграций на их основе) и пишете парсер, который тянет по HTTP API необходимые данные и подгружает их в Вашу новую базу данных.

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