从QuerySet获取原始SQL查询

Gil*_*tes 3 python django

我有这样的简单模型:

class Something(models.Model):
    data = models.CharField(max_length=200)
Run Code Online (Sandbox Code Playgroud)

当我表演时:

Something.objects.all().query
Run Code Online (Sandbox Code Playgroud)

我明白了:

<django.db.models.sql.query.Query object at 0xa57b9ec>
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我使用的是最新版本的Django(1.5.2).在旧版本中.query,返回了带有SQL查询的字符串.我怎样才能在新版本中获得它?

Alp*_*Alp 5

正如我们在评论中发现的那样,这是你的答案:

str(Something.objects.all().query)
Run Code Online (Sandbox Code Playgroud)

  • `str(Something.objects.all().query)`是正确的. (2认同)