Медленное выполнение цикла for (django или raw queryset) для более чем 1000 результатов - PullRequest
0 голосов
/ 01 октября 2019

Я не могу получить более 1000 результатов в запросе AJAX (сервер получает тайм-аут для результатов больших данных). Я написал простой запрос здесь

         query = '''SELECT l.id, l.timestamp,
                        m.dname, m.user_id FROM leaduser l
                        LEFT JOIN manager_detail m ON m.user_id=l.manager_id
                        LEFT JOIN LATERAL (SELECT user_id AS log_id FROM 
                        lead_user_logs WHERE user_id=l.id ORDER BY 
                        TIMESTAMP ASC LIMIT 1) ll on TRUE '''

А теперь цикл for:

arr=[]
for lead in leads:
       new_dict = {
          'name': '<a href="{}">{}</a>'.format(lead.get_absolute_url(), lead.name),
          'phone': lead.phone,
          'manager': lead.dname,
         'clinic': lead.pname,
         'dietitian': lead.dname,
         'doj': localtime(lead.timestamp).strftime('%d-%m-%Y'),
         'time': localtime(lead.timestamp).strftime('%I:%M %p'),
         'sourcece': lead.source,
         'country': lead.address['Country'],
         'state': lead.address['State'],
         'city': lead.address['City'],}
        arr.append(new_dict)

Я не могу найти, что здесь не так (цикл замедляется при доступе к БДстолбцы)

...