数据采集​​优化

表中有很多记录(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 %}


慕侠2389804
浏览 193回答 1
1回答

慕尼黑5688855

1- 第一个解决方案是仅将您想要的值传递回模板。根据我在您的代码中看到的内容,您正在使用id, par_time, ..., par_value,因此只需将此值传递给模板而不是所有 python 对象。像这样:&nbsp;Parameters.objects.all().values('id',&nbsp;'par_time',&nbsp;....此方法比仅传递 python 对象更优化。2- 在 django 模板中使用分页。您不需要加载表中的所有数据(用户端)。对所有数据进行分页,例如每页传递 10 个项目。django中如何使用分页有丰富的文档。这是在 django 项目中使用的分页应用程序列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python