如何在查询性能目的中使用Django paginator?

时间:2015-01-02 10:52:47

标签: django django-queryset

我刚刚阅读了关于Django分页的the doc

从示例中,似乎需要像这样使用:

  1. 加载所有对象
  2. 创建Paginator对象以跨页面拆分对象。
  3. 现在,假设我不想使用返回100000个条目的非常长的查询进行分页。 我需要很长时间才能一次加载所有100000个对象。

    我想做的是每页只加载10个对象。有没有办法使用Django paginator,也许有一些限制/偏移查询?

    感谢。

1 个答案:

答案 0 :(得分:4)

不,Paginator不会将所有对象加载到内存中。如果将查询集传递给Paginator,则它使用.count()来获取对象数。