2
如何檢查,1.4.11生成該查詢該查詢的Django:檢查查詢的Django生成
obj = Model.objects.get(code='code')
我已經試過:
print Model.objects.get(code='code').query
但對於模型對象這種方法。 我如何獲得原始的sql?
如何檢查,1.4.11生成該查詢該查詢的Django:檢查查詢的Django生成
obj = Model.objects.get(code='code')
我已經試過:
print Model.objects.get(code='code').query
但對於模型對象這種方法。 我如何獲得原始的sql?
它不會因爲query
工作是Queryset
對象的屬性,當你做一個.get()
的查詢集it's評估(併成爲模型的實例)
如果你嘗試:
>>> type(Model.objects.get(code='code'))
<class 'app.models.Model'>
>>> print Model.objects.get(code='code').query
AttributeError: 'Model' object has no attribute 'query'
而是使用:
>>> type(Model.objects.all())
<class 'django.db.models.query.QuerySet'>
>>> print Model.objects.all().query
SELECT "model.Model" from ...
現在,讓所有查詢的SQL您有幾種選擇:
如果DEBUG=True
您可以使用此:
from django.db import connection
print connection.queries
使用Django的調試工具欄裏