如何在查询性能目的中使用 Django 分页器?

How to use Django paginator in a query-performance purpose?

我刚刚阅读 the doc 关于 Django 分页的内容。

从例子来看,好像需要这样使用:

  1. 加载所有对象
  2. 创建分页器对象以跨页拆分对象。

现在,假设我不想对 returns 100000 个条目的超长查询使用分页。 我一次加载所有 100000 个对象需要很长时间。

我想做的是每页只加载 10 个对象。有没有办法使用 Django paginator 和一些 limit/offset 查询来做到这一点?

谢谢。

不,Paginator 不会将所有对象加载到内存中。如果您将查询集传递给分页器,那么它会使用 .count() 来获取对象的数量。