如何计算呈现 Django 管理页面所需的 SQL 查询数?
Posted
技术标签:
【中文标题】如何计算呈现 Django 管理页面所需的 SQL 查询数?【英文标题】:How can I count the number of SQL queries needed to render a Django admin page? 【发布时间】:2019-11-17 00:13:45 【问题描述】:我使用大量内联的 django 管理站点的一部分运行缓慢,based on this question 我认为这可能与它生成的 SQL 查询的数量有关。我想计算 SQL 查询的数量,以便测试一些更改。我知道如何在自定义编写的视图上执行此操作,但我不知道如何为标准管理视图执行此操作。
以下是我测试自己观点的方法。视图名为weight_plot
,应用名为runner
。
from django.test.client import RequestFactory
from django.conf import settings
settings.DEBUG = True
from django.db import connection
import runner.views
myview = runner.views.weight_plot
request = factory.get('/weights')
response = myview(request)
n_queries = len(connection.queries)
这行得通,现在我想看看需要多少查询才能加载https://example.com/admin/runner/MODEL_NAME/add/
的页面。但我不知道用什么视图代替上面的myview
。
【问题讨论】:
使用 djabgo 调试工具栏django-debug-toolbar.readthedocs.io/en/latest 你可以使用github.com/jazzband/django-silk 【参考方案1】:您可以将django debug toolbar 与'debug_toolbar.panels.sql.SQLPanel'
一起使用。您可以查看每个查询以及执行它们需要多长时间。
【讨论】:
以上是关于如何计算呈现 Django 管理页面所需的 SQL 查询数?的主要内容,如果未能解决你的问题,请参考以下文章