Django rest framework sql raw запрос с другого хоста

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

1-я БД:

Host:0.0.0.0
port:5822
dbname:DBone
user:postgres
password:user:postgres

2-й БД:

Host:0.0.0.0
port:5842
dbname:DBtwo
user:postgres
password:user:postgres

1-я база данных основная, я хочу запросить данные из 2-й базы данных через views.py (запрос) Я использую Django RestFrameworks сейчас. Я хочу выполнять сырые запросы с другого хоста, как это сделать?

@api_view(['GET'])
def get_data(request):
    data = DBtwo.objects.raw(SELECT current from DBtwo WHERE name ='Test' AND gender ='M' AND age ='20')

Если у вас несколько баз данных, то вы можете запросить нужную с помощью метода using, просто передайте имя нужной вам базы данных, например:

DBtwo.objects.using(<DB_NAME>).raw(<RAW SQL QUERY>)

В документации Django подробно описано, как использовать несколько баз данных:

https://docs.djangoproject.com/en/4.0/topics/db/multi-db/

Я бы также рекомендовал использовать Django ORM, а не сырые SQL-запросы:

https://docs.djangoproject.com/en/4.0/topics/db/sql/

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