众所周知,当数据库表有很多行时,Django 的管理列表视图会变得相当慢。这是因为 Django 分页器默认使用(慢)PostgreSQLCOUNT
query.
因为估计对我们来说很好,而且速度要快得多,例如:SELECT reltuples FROM pg_class WHERE relname = "my_table_name"
有一个代码片段可以解决这个问题,但我不清楚如何实际使用它:https://djangosnippets.org/snippets/2593/ https://djangosnippets.org/snippets/2593/
此外,该代码片段不适用于过滤结果。这是因为上面所示的估计计数在这里不起作用。是否有其他方法可以加快 Django 管理页面中过滤列表视图的速度?
从 Django 1.8 开始,有一个选项可以选择所需的行为:https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.show_full_result_count https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.show_full_result_count
Example:
class MyModelAdmin(admin.ModelAdmin):
show_full_result_count = False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)