我正在做一個Django的Web應用程序,它允許用戶建立一系列GET/POSTs之前,通過一個最終的POST提交到數據庫(或恢復)一系列的變化。我必須保持更新與任何併發數據庫用戶隔離,直到他們被確認(這是一個配置前端),在每次POST後排除提交。在Django每會話事務
我的首選解決方案是使用每會話事務。這樣可以在記錄它所屬的數據庫中記錄所發生的變化(以及它如何影響後續查詢)以及實現提交/回滾的所有問題。死鎖和長期鎖定不是問題,因爲由於外部約束,每次只能有一個用戶配置系統,並且它們表現良好。
但是,我找不到有關設置Django的ORM使用這種事務模型的文檔。我一起扔了一個最小的猴子補丁(ew!)來解決問題,但不喜歡這種脆弱的解決方案。有沒有其他人做過?我在某處錯過了一些文檔嗎?
(我的Django的版本是1.0.2決賽,和我使用的是Oracle數據庫。)
死鎖和用戶出去喝咖啡並不是問題(將有一個控制器,並且通過設計,整個更新在單個鎖下完成)。 糾正我,如果我錯了,但紀實不會與ORM工作,他們會嗎? – 2009-06-23 17:37:32