【发布时间】:2016-03-24 11:56:38
【问题描述】:
我目前正在优化我的 Django 应用程序,该应用程序充当我使用 Django Rest 框架的前端的 API。在调试模式下运行我的服务器时,我注意到每次执行查询集时,都会在它之前运行一个查询,它总是如下所示:
SELECT COUNT('*') AS "__count" FROM "table_name WHERE ..."
... 部分始终反映返回我想要的对象的查询。我不确定这是否仅在调试中运行,QuerySet 对象天生就会这样做,或者我的代码有错误。希望了解一下为什么会发生这种情况以及我是否需要担心
【问题讨论】:
-
您是否安装了一些调试工具,例如
django-debug-toolbar? -
是的,但它没有显示任何这些
count(*)查询。只是我终端中的调试输出 -
对不起,我完全错了,它们显示在工具栏中
-
引发查询的API请求是什么,响应的内容。分页需要
count(*)吗?
标签: django postgresql django-rest-framework