django - 查看 Django 查询集删除的 SQL 查询

标签 django django-orm

如何查看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。)

最佳答案

这工作得很好:

>>> from django.db import connection
>>> connection.queries[:-10]

以为在查询被添加到 connection.queries 之前发生了异常,但它们确实存在。

关于django - 查看 Django 查询集删除的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557232/

相关文章:

mysql - django查询返回主键相关列值

python - Django - 多个数据库

Django 批量更新两个表的数据

Django 选择不同的

python - 反转 'login',参数 '()' 和关键字参数 '{}' 未找到

python - Django Rest Framework @detail_route 产生 404

python - generic.edit.CreateView 分配默认值并插入数据库

Django- Group by 和 Count by unique 在一起

sql - Django ORM 如何获得平均值

django - 如何在日期时间字段上过滤 gte、lte 日期?