2010-09-22 109 views

回答

8

Django从来没有创建原始的SQL,所以没有。为了防止SQL注入,django在最后一步将参数分别传递给数据库驱动程序。获得实际SQL的最佳方法是查看查询日志,在执行查询之前,您无法执行该查询日志。

+0

所以答案是否定的。谢谢。 – epoch 2010-09-22 12:31:54

+2

+1。 @epoch:对,答案是否定的。如果您想查看传递给后端的查询,可以使用以下代码片段。 'from django.db import DEFAULT_DB_ALIAS; queryset.query.get_compiler(DEFAULT_DB_ALIAS).as_sql()' – 2010-09-22 12:32:04

+0

在执行'Something.objects.all()。query'查询PostgreSQL数据库时,我真的不会看到'__str__'的问题吗? – 2010-09-22 12:35:03