改进django休息框架中的分页和序列化时间

时间:2015-08-03 06:41:54

标签: python django pagination django-rest-framework

我正在使用ListAPIView来呈现对象列表。响应返回limit=50的分页结果。查询集大小从0到几十万不等。

我注意到,当查询集大小较小时,API响应时间很短。但随着查询集大小的增加,API响应时间变得非常大。

分页真的是罪魁祸首吗?
有没有办法使用分页优化ListAPIView的响应时间?

1 个答案:

答案 0 :(得分:1)

如官方django文档中所述,querysets are lazy

  

QuerySets很懒 - 创建QuerySet的行为不涉及任何数据库活动。您可以整天将过滤器堆叠在一起,在评估QuerySet之前,Django实际上不会运行查询。

另外,pagination compliments queryset's laziness

因此,延迟的culprit不是分页。
案件结案......

但那又是什么呢?

如何加快速度?