Python подключение к базе данных и выборка таблицы в формате json
В проекте django я подключился к базе данных и написал "select * from table" для отображения результата в формате json, Я использовал for cycle для этого, он работает нормально, но когда есть миллионы или более миллионов строк, get запрос занимает много времени и в конечном итоге он останавливается без результата. Есть ли альтернативный способ выполнить этот код без использования for cycle, так как for cycle занимает очень много времени, если в запросе select много строк. Я выполнил все действия в urls.py в проекте django
urls.py
from django.urls import path
from hdbcli import dbapi
from django.http import HttpResponse, JsonResponse
import json
def get_all_users(request):
conn = dbapi.connect(address="localhost", port="xxx", user="xxxx", password="xxxx")
cursor = conn.cursor()
cursor.execute("select bname, name_text, function, department from user_addrs")
objs = cursor.fetchall()
json_data = []
for obj in objs:
json_data.append({
"login" : obj[0],
"full_name" : obj[1],
"function" : obj[2],
"department" : obj[3]
})
return JsonResponse(json_data, safe=False)
urlpatterns = [
path('test/', get_all_users),
]
в браузере результат выглядит следующим образом
в cmd, печатаем следующим образом
может ли кто-нибудь помочь мне решить эту проблему, мне нужен код, который возвращает json ответ быстрее, даже если есть большое количество строк в select запросе
Спасибо