我只需要您的 Django 专家确认我对Django 的 ON DELETE CASCADE 实现的理解。
根据 Django 官方文档:
当 Django 删除一个对象时,默认情况下它会模拟 SQL 约束 ON DELETE CASCADE 的行为——换句话说,任何具有指向要删除的对象的外键的对象都将与它一起被删除。
“模拟”这个词是否暗示 ON DELETE CASCADE 逻辑实际上是在 Django 中实现的,而不是在数据库级别?(我查看了我的数据库,所有包含外键的表的定义中都有ON DELETE NO ACTION。)
如果我的理解是正确的,有什么方法可以将ON DELETE CASCADE逻辑从应用层重新定位到数据库层?我更多的是寻找一种正确的方法,而不是黑客来做这件事。(注意:我使用 PostgreSQL 作为我的后端。)