我知道您可以使用
获取给定QuerySet的SQLprint query.query
但正如我们从上一个问题(Potential Django Bug In QuerySet.query?)所知,返回的SQL未正确引用。见http://code.djangoproject.com/browser/django/trunk/django/db/models/sql/query.py
有没有办法在没有实际执行的情况下获取给定QuerySet的原始可执行SQL(引用)?
答案 0 :(得分:8)
Django从不创建原始sql,所以没有。为防止SQL注入,django在最后一步将参数分别传递给数据库驱动程序。获取实际SQL的最佳方法是查看查询日志,在执行查询之前不能这样做。