在django中执行.get查询集时如何知道查询
我有这个型号:
class Artist(EsIndexable, models.Model):
name = models.CharField(max_length=50)
birth_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)
我在shell中做了这个:
x = Artist.objects.get(name="Eminem")
print x.query
Run Code Online (Sandbox Code Playgroud)
然后我得到了错误:
AttributeError: 'Artist' object has no attribute 'query'
Run Code Online (Sandbox Code Playgroud)
Rem*_*ich 13
.get
返回实例,而不是查询集.
要查看已完成的查询,请执行相同的操作,但.filter
确实返回查询集:
queryset = Artist.objects.filter(name="Eminem")
print queryset.query
x = queryset.get()
Run Code Online (Sandbox Code Playgroud)
from django.db import connection
x = Artist.objects.get(name="Eminem")
print connection.queries[-1]
Run Code Online (Sandbox Code Playgroud)