python - 如何加快 Django 中大型数据集的迭代速度

标签 python django

我有一个来自 Django ORM 查询的大约 1500 条记录的查询集。我使用了 select_related() 和 only() 方法来确保查询紧凑。我还使用 connection.queries 来确保只有这个查询。也就是说,我确保每次迭代都不会调用额外的查询。

当我运行从 connection.queries 剪切和粘贴的查询时,它会在 0.02 秒内运行。但是,迭代这些记录并且不对它们执行任何操作(通过)需要七秒钟。

我该怎么做才能加快速度?是什么导致了这种缓慢?

最佳答案

当 QuerySet 充满模型对象时,它会变得非常沉重。在类似的情况下,我在查询集上使用了 .values 方法来指定我需要的属性作为字典列表,这可以更快地迭代。

Django 文档:values_list

关于python - 如何加快 Django 中大型数据集的迭代速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5656238/

相关文章:

python - Flask:如何使用 Flask-Redis 和 Redis 进行身份验证

python - Seaborn 中的 FacetGrid 数据标签

python - 简化此 python 代码

python - 如何计算大数组中字符串的某些元素?

Django __str__ 返回非字符串(类型 NoneType)

python - 如何让 'list' (players/) 和 'detail' (players/{id}) 有不同的结果?

python - 在模型序列化器中获取当前用户

django - 如何在 Django 单元测试之间共享数据(如临时路径)

管理员中的 Django 自定义用户模型,关系 "auth_user"不存在

python - 我该如何解决这个问题 : ERROR: Command errored out with exit status 1 : when trying to "pip install psycopg2"