Django通用列表视图在分页器计数SQL查询期间使用注释

时间:2019-03-16 20:06:04

标签: django

使用Django通用列表视图时,相同的查询集用于生成paginator.countobject_list。这非常有道理,因为任何过滤都需要反映在计数和显示的对象列表中。但是,当在查询集上添加过滤器中未使用的注释时,计数查询不必要地包含了这种额外的复杂性。

我注意到有些情况下PostgreSQL计划器很聪明,无法执行这些批注,但是当计数查询可以大大简化时,我也看到查询需要相同的工作。

我想知道是否有人遇到过这种情况并找到了解决方法。

我有以下想法:

  • 覆盖通用列表视图和分页器,以在CBV上使用count_queryset

  • 覆盖通用列表视图和分页器,以在计算计数之前从提供的查询集中删除所有注释

我正在使用Django 1.11.4和PostgreSQL 11.2。

0 个答案:

没有答案