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-запросы: