如何获得Django模型的.save()的SQL,即
from django.db import models
class MyM(models.Model):
text = models.TextField()
如何获得在以下情况下将创建/使用的SQL:
>>> m = MyM(text="123")
>>> m.save()
# What SQL Django just run?
谢谢!
最佳答案
从Django常见问题解答中:
如何查看Django正在运行的原始SQL查询?
确保您的Django DEBUG设置设置为True。然后,只需执行以下操作:
>>> from django.core.db import db
>>> db.queries
[{'sql': 'SELECT polls_polls.id,polls_polls.question,polls_polls.pub_date FROM polls_polls',
'time': '0.002'}]
仅当DEBUG为True时db.queries才可用。它是按查询执行顺序排列的词典列表。每本词典都有以下内容:
sql
-原始SQL语句time
-语句执行所需的时间(以秒为单位)。db.queries包括所有SQL语句-INSERT,UPDATE,SELECT等。
关于sql - 获取Django模型在.save()上具有(或将调用)的SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2381556/