gpt4 book ai didi

django - 防止 django 管理员在列表表单上运行 SELECT COUNT(*)

转载 作者:行者123 更新时间:2023-12-03 11:32:22 25 4
gpt4 key购买 nike

每次我使用 Admin 列出模型的条目时,Admin 都会计算表中的行数。更糟糕的是,即使您正在过滤查询,它似乎也在这样做。

例如,如果我只想显示 id 为 123、456、789 的模型,我可以这样做:

/admin/myapp/mymodel/?id__in=123,456,789

但是运行的查询(以及其他)是:

SELECT COUNT(*) FROM `myapp_mymodel` WHERE `myapp_mymodel`.`id` IN (123, 456, 789) # okay
SELECT COUNT(*) FROM `myapp_mymodel` # why???

这是杀死mysql + innodb。似乎该问题得到部分承认 in this ticket ,但我的问题似乎更具体,因为它计算所有行,即使它不应该。

有没有办法禁用全局行数?

注意:我使用的是 django 1.2.7。

最佳答案

Django 1.8 允许您通过设置 show_full_result_count = False 来禁用它.

https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.show_full_result_count

关于django - 防止 django 管理员在列表表单上运行 SELECT COUNT(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com