如何在Django中获取.save()的查询?
我正在更新一个Django模型对象。在给每个属性设置值后,当我调用 obj.save()
时,出现了 OperationalError: (2006, 'MySQL server has gone away')
的错误。我很想知道这个错误的原因是什么。有什么办法可以让我看到这个查询吗?因为当保存方法因为这个错误失败时,它不会记录查询信息。有没有什么建议?谢谢!
1 个回答
16
你可以试试这个
from django.db import connection
connection.queries
这样做会给你列出所有通过Django执行的查询(包括.save()这个操作)。如果你想获取你的查询,可以这样做:
from django.db import connection, OperationalError
try:
modelObj.save()
except OperationalError:
print(connection.queries[-1])