2014-07-17 58 views
2

如何檢查,1.4.11生成該查詢該查詢的Django:檢查查詢的Django生成

obj = Model.objects.get(code='code') 

我已經試過:

print Model.objects.get(code='code').query 

但對於模型對象這種方法。 我如何獲得原始的sql?

回答

2

它不會因爲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您有幾種選擇: