我注意到默认情况下,django管理站点中的所有更新都是作为事务完成的。
我需要: - 关闭交易(全局或特定管理员视图) - 在通过管理界面保存的实体的save()方法内部,提交事务
原因是我覆盖了save()方法,并且正在通知外部非django系统刚刚发生的更改。但是,由于django仍未提交事务,因此外部系统看不到更新。
有没有人对如何做到这一点有任何建议?
答案 0 :(得分:5)
您可以使用commit_manually来完全控制特定视图/功能中的事务。
答案 1 :(得分:0)
答案 2 :(得分:0)
更好的解决方案可能是调查数据库的事务隔离设置,因为这是外部进程无法“看到”更新的真正原因......