为了账号安全,请及时绑定邮箱和手机立即绑定

数据采集​​优化

数据采集​​优化

慕侠2389804 2021-09-02 19:46:55
表中有很多记录(450k 记录),我怎样才能比这种方式更快地获取它们?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 %}
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

1- 第一个解决方案是仅将您想要的值传递回模板。根据我在您的代码中看到的内容,您正在使用id, par_time, ..., par_value,因此只需将此值传递给模板而不是所有 python 对象。像这样:

 Parameters.objects.all().values('id', 'par_time', ....

此方法比仅传递 python 对象更优化。

2- 在 django 模板中使用分页。您不需要加载表中的所有数据(用户端)。对所有数据进行分页,例如每页传递 10 个项目。django中如何使用分页有丰富的文档。这是在 django 项目中使用的分页应用程序列表。


查看完整回答
反对 回复 2021-09-02
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信