Django 后台:关闭数据库事务
我注意到,在Django的管理界面中,所有的更新默认都是以事务的方式进行的。
我需要做的事情有两个选择: - 关闭事务(可以是全局关闭,也可以是针对某个特定的管理视图) - 在通过管理界面保存的实体的save()方法中,提交这个事务
这样做的原因是我重写了save()方法,并且需要通知一个外部的、不是Django的系统,关于刚刚发生的变化。不过,由于Django还没有提交事务,外部系统并没有看到这个更新。
有没有人有什么建议可以实现这个目标呢?
4 个回答
0
一个更好的解决办法可能是看看你数据库的事务隔离设置,因为这才是真正导致外部进程无法“看到”更新的原因……
5
你可以使用 commit_manually 来在某个视图或函数中完全控制一个事务。