Admin

【备忘】Django在大量数据情况下的admin后台列表页快速加载

提供silk分析后发现:
列表页加载卡慢的原因有两个:

  • 一个是分页器所需的select count(*)
  • 另一个是total所需的select count(*)

把这两个去掉后加载速度明显好多了
分页器部分可考虑加缓存实现
不过我不需要,所以这里直接返回固定数字

from django.core.paginator import Paginator

class NoCountPaginator(Paginator):
    @property
    def count(self):
        return 999999999

@admin.register(models.ModelName)
class ModelName(admin.ModelAdmin):
    paginator = NoCountPaginator
    show_full_result_count = False