Django ORM:我怎么能在飞行中看到最后执行的查询

时间:2016-06-03 14:27:31

标签: python django orm

所以我们假设我们使用django orm

进行简单查询
filterd = User.objects.exclude(id = request.user.id ).filter(username=data['username'] )

这假设返回一些对象,但它没有返回! 显然我做错了,因为我'还不熟悉django ORM,所以我会帮助我知道在这一行中确切执行了什么查询

我在周围搜索过我发现了这个

print(filter.query)

但是我得到了

AttributeError: type object 'filter' has no attribute 'query'

我想当没有对象返回时,filter是None,所以......我该怎么办?

1 个答案:

答案 0 :(得分:3)

尝试:

from django.db import connection as conn
filterd = User.objects.exclude(id = request.user.id).filter(username=data['username'] )
# to execute query
print filterd
print conn.queries