我正在做一个Django的Web应用程序,它允许用户建立一系列GET/POSTs之前,通过一个最终的POST提交到数据库(或恢复)一系列的变化。我必须保持更新与任何并发数据库用户隔离,直到他们被确认(这是一个配置前端),在每次POST后排除提交。在Django每会话事务
我的首选解决方案是使用每会话事务。这样可以在记录它所属的数据库中记录所发生的变化(以及它如何影响后续查询)以及实现提交/回滚的所有问题。死锁和长期锁定不是问题,因为由于外部约束,每次只能有一个用户配置系统,并且它们表现良好。
但是,我找不到有关设置Django的ORM使用这种事务模型的文档。我一起扔了一个最小的猴子补丁(ew!)来解决问题,但不喜欢这种脆弱的解决方案。有没有其他人做过?我在某处错过了一些文档吗?
(我的Django的版本是1.0.2决赛,和我使用的是Oracle数据库。)
死锁和用户出去喝咖啡并不是问题(将有一个控制器,并且通过设计,整个更新在单个锁下完成)。 纠正我,如果我错了,但纪实不会与ORM工作,他们会吗? – 2009-06-23 17:37:32