gpt4 book ai didi

python - 有没有办法记录在 django View 中进行的查询总数?

转载 作者:行者123 更新时间:2023-11-28 21:53:05 25 4
gpt4 key购买 nike

我有响应 ajax 请求的非传统 View 。通常,我使用调试工具栏来获取查询计数,但是,由于这个特定 View 只是返回一些 json,因此调试工具栏没有页面来显示自己。

有没有办法将 View 中执行的查询总数打印到控制台?

通过浏览文档,找到qs.query。但是,这只是给出了我的基本 orm 查找的内容。我真的在寻找我 View 中发生的所有事情的总和(例如,通过外键触发的额外查询)。

最佳答案

您可以为此编写一个中间件:

from django.db import connection


class SqlPrintMiddleware(object):
def process_response(self, request, response):
sqltime = 0 # Variable to store execution time
for query in connection.queries:
sqltime += float(query["time"]) # Add the time that the query took to the total

# len(connection.queries) = total number of queries
print "Page render: " + unicode(sqltime) + "sec for " + unicode(len(connection.queries)) + " queries"

return response

然后在您的 settings.py 中更改:

MIDDLEWARE_CLASSES = (
# ...
'your_app.middleware.SqlPrintMiddleware',
# ...
)

想法取自here

关于python - 有没有办法记录在 django View 中进行的查询总数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275606/

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