Python 使用表单提高django性能

Python 使用表单提高django性能,python,django,Python,Django,我有一个大数据库,从中可以得到一个表示某个表的字典列表(dictfetchall)。然后,我应该根据从db获得的表制作一些表单。这个表格相当大——大约有25k行,因此我的表单构建速度非常慢——整个页面大约12秒,这是我无法接受的。有什么技巧可以提高性能吗? 通常,我的代码如下所示: all_filters_table = get_all_subord_struct() for row in all_filters_table: filters[row[struc

我有一个大数据库,从中可以得到一个表示某个表的字典列表(dictfetchall)。然后,我应该根据从db获得的表制作一些表单。这个表格相当大——大约有25k行,因此我的表单构建速度非常慢——整个页面大约12秒,这是我无法接受的。有什么技巧可以提高性能吗? 通常,我的代码如下所示:

    all_filters_table = get_all_subord_struct() 
    for row in all_filters_table:
        filters[row[struct_type_id] - 1].append(row['id_struct'], row['struct_name'])
    SomeForm.OPTIONS = filters[i][:1000]
    context['form'] = SomeForm()
更新
我正在使用一个存储过程,该存储过程提供了大约25k行,我很难更改它。有没有快速的变体来处理我手头的大数据?

从代码中不确定,但看起来您正在从数据库中获取所有行,然后在结果列表中进行筛选

您确实需要过滤查询请求,以便只获得所需的内容。例如,如果您需要最后1000条记录,可以使用以下内容:

Data.objects.filter(<some filter>)[:1000]
Data.objects.filter()[:1000]

不确定您在问什么。如果要向客户端发送25K行,那么速度总是很慢。渲染25K行是没有意义的。使用分页。没有人想看到2.5万行的桌子。我会同意@ravidicus的建议。Django具有本机分页功能-