首页 > 解决方案 > 为什么没有回滚钩子?

问题描述

回滚钩子比提交钩子更难实现健壮,因为很多事情都可能导致隐式回滚。例如,如果您的数据库连接因为您的进程被杀死而没有机会正常关闭,那么您的回滚钩子将永远不会运行。但是有一个解决方案:与其在原子块(事务)期间执行某些操作,然后在事务失败时撤消它,而是使用 on_commit() 将其延迟到事务成功之后才执行。撤销一开始从未做过的事情要容易得多!enter code here

标签: django

解决方案


推荐阅读