如何在 django 中获取 .save() 的查询?
Posted
技术标签:
【中文标题】如何在 django 中获取 .save() 的查询?【英文标题】:How can i get query for .save() in django? 【发布时间】:2011-12-30 04:27:13 【问题描述】:我正在更新一个 django 模型对象。在我调用obj.save()
时为每个属性设置值后,它给了我OperationalError: (2006, 'mysql server has gone away')
。我很想知道是什么导致了以下错误。我怎样才能得到查询?当保存方法由于上述错误而失败时,它不会记录查询。
有什么建议??提前致谢。
【问题讨论】:
django toolbar 【参考方案1】:你可以试试
from django.db import connection
connection.queries
它将为您提供通过 Django 执行的所有查询的列表(包括 .save())。要获得您的查询,您可以这样做,
from django.db import connection, OperationalError
try:
modelObj.save()
except OperationalError:
print(connection.queries[-1])
【讨论】:
不要忘记将 settings.DEBUG 设置为 True 以查看查询以上是关于如何在 django 中获取 .save() 的查询?的主要内容,如果未能解决你的问题,请参考以下文章
数据的查,改,删django orm中如何创建表关系django请求生命周期流程图路由层无名有名分组反向解析