所以假设我们有一个使用 django orm 的简单查询
filterd = User.objects.exclude(id = request.user.id ).filter(username=data['username'] )
Run Code Online (Sandbox Code Playgroud)
这假设返回一些对象,但它不返回任何对象!显然我做错了什么,因为我对 django ORM 还不满意,所以我会帮助很多人知道在这一行中究竟执行了什么查询
我四处寻找我找到了这个
print(filter.query)
Run Code Online (Sandbox Code Playgroud)
但我明白了
AttributeError: type object 'filter' has no attribute 'query'
Run Code Online (Sandbox Code Playgroud)
我猜当没有返回任何对象时过滤器是 None 所以......我该怎么办?
尝试:
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
Run Code Online (Sandbox Code Playgroud)