表中有很多记录(450 k记录),我怎样才能比这样更快地获得它们?
def index(request):
params = Parameters.objects.all()
return render(request, "core/data_table.html", {"params": params})我把桌子放在html上:
{% extends 'base.html' %}
{% block content %}
<html>
<body>
{% if params.count > 0 %}
<h2>Data</h2>
<table>
<tr><th>Id</th><th>par_time</th><th>par_recipe</th><th>par_machine</th><th>par_fa</th><th>par_ag_typ</th><th>par_rollennr</th>
<th>par_def_id</th><th>par_name</th><th>par_value</th></tr>
{% for person in params %}
<tr><td>{{ params.id }}</td><td>{{ params.par_time }}</td><td>{{ params.par_recipe }}</td><td>{{ params.par_machine }}</td>
<td>{{ params.par_fa }}</td><td>{{ params.par_ag_typ }}</td><td>{{ params.par_rollennr }}</td><td>{{ params.par_def_id }}</td>
<td>{{ params.par_name }}</td><td>{{ params.par_value }}</td></tr>
{% endfor %}
</table>
{% endif %}
</body>
</html>
<p><a href="{% url 'home' %}">Return to home</a></p>
{% endblock %}发布于 2018-12-01 12:37:19
第一种解决方案是将您想要返回的值传递回模板。根据我在代码中看到的内容,您使用的是id, par_time, ..., par_value,所以只需将此值传递给模板,而不是所有python对象。就像这样:
Parameters.objects.all().values('id', 'par_time', ....这个方法比仅仅传递python对象更优化。
2-在django模板中使用分页。您不需要加载表中的所有数据(用户端)。将所有数据分页,例如,每页每10项。关于如何在django中使用分页,有丰富的文档。下面是一个在django项目中使用的分页应用程序列表。
https://stackoverflow.com/questions/53570759
复制相似问题