检查Django生成的查询

检查Django生成的查询,django,django-orm,Django,Django Orm,如何检查django 1.4.11为此查询生成的查询: obj = Model.objects.get(code='code') 我试过: print Model.objects.get(code='code').query 但是对于模型对象有这样的方法。 如何获取原始sql?它不起作用,因为query是Queryset对象的一个属性,当执行.get()查询集时,它会被评估(并成为模型的一个实例) 如果您尝试: >>> type(Model.objects.get(code

如何检查django 1.4.11为此查询生成的查询:

obj = Model.objects.get(code='code')
我试过:

print Model.objects.get(code='code').query
但是对于模型对象有这样的方法。
如何获取原始sql?

它不起作用,因为
query
Queryset
对象的一个属性,当执行
.get()
查询集时,它会被评估(并成为模型的一个实例)

如果您尝试:

>>> type(Model.objects.get(code='code'))
<class 'app.models.Model'>
>>> print Model.objects.get(code='code').query
AttributeError: 'Model' object has no attribute 'query'
  • 使用django调试工具栏

  • 使用内置的django日志,您可以找到有关如何设置的示例
  • >>> type(Model.objects.all())
    <class 'django.db.models.query.QuerySet'>
    >>> print Model.objects.all().query
    SELECT "model.Model" from ...
    
    from django.db import connection
    print connection.queries