如何在django中打印.get queryset的查询

Dea*_*ada 2 python django

在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)


Ser*_*aev 6

from django.db import connection

x = Artist.objects.get(name="Eminem")
print connection.queries[-1]
Run Code Online (Sandbox Code Playgroud)