使用 ORM 时的 SQL 性能问题
SQL 查询数据缓慢,有可能是几个原因:
- 数据库表缺乏一些必要的索引
 - Django ORM 生成的 SQL 不够好
 - 没有正确地使用 Django ORM
 
调试思路主要是将 Django ORM 生成的原始 SQL 显示出来,再进行分析。显示原始 SQL 的方法有:
- 使用 Django Debug Toolbar / Django Debug Panel
 - 使用 Django Extensions 的 
shell_plus - 在 Django 的 logging 配置里,将 
django.db配置为 logger,并使用DEBUG的 log level - 使用 
django.db.connections提供的原始信息 
处理抛异常
Django 的异常信息页面已经提供了非常详细的信息,对农副产品问题很有帮助。同时你可以使用 Django Extensions 中提供的 runserver_plus 命令,使 Werkzeug 内嵌到 Django 的内置服务器中,这样可以在抛异常时的每一帧函数上做调试。