首页 > 解决方案 > 对于超过 1000 个结果,for 循环 for(django 或原始查询集)执行缓慢

问题描述

我无法在 ajax 请求中获得超过 1000 个结果(服务器因大数据结果而超时)。我在这里写了一个简单的查询

         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)

我无法在这里找到问题所在(访问 db 列时循环变慢)

标签: pythondjangopython-3.xfor-loopoptimization

解决方案


推荐阅读