Django django.db.backends 记录器和调试

dab*_*aba 5 python django debugging logging django-1.8

我正在尝试分析部分代码以减少针对数据库运行的查询数量,因此我配置了以下记录器,该记录器据称会记录针对数据库执行的每个原始 SQL 查询:

LOGGING = {
    'version': 1,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        }
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'DEBUG',
            'handlers': ['console']
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在逐行调试所述代码块,以慢慢检查正在记录的查询。问题在于 PyCharm 的调试器正在评估所涉及的QuerySets,因此对数据库运行查询并扭曲了我的分析。

有什么方法可以配置调试器,使其不会自动评估变量吗?或者本质上我可以通过任何其他方式分析每行代码产生的原始查询?

ren*_*zop 0

演出有点晚了,但无论如何......

有一个名为 django-silk 的包,它为分析 django 应用程序的数据库查询、性能指标等提供了很大的可能性。

https://github.com/jazzband/django-silk