【发布时间】:2011-06-01 05:31:31
【问题描述】:
您如何查看 Django 为 DELETE 生成的 SQL?
在查询集上执行SELECT 操作时,您可以这样做:
>>> qs = Entry.objects.filter(date__gt='2010-06-01')
>>> qs.query.as_sql()
('SELECT ...)
但我不知道如何获取 SQL 以了解当我执行 qs.delete() 时会发生什么。
它看起来有点复杂,因为删除对象时 Django "emulates the behavior of the SQL constraint ON DELETE CASCADE"。
(背景:尝试调试在删除子类模型对象时由外键约束生成的 IntegrityError。)
【问题讨论】:
-
您可以查看数据库错误日志:)
-
您解决了 IntegrityError 吗?我在这里遇到同样的问题。奇怪的事实:myobject.delete() 从“管理 shell”工作,但从视图中失败???
标签: django django-orm