-2
我正在構建一個需要事務支持的網站,以便數據庫記錄修改將作爲一個單元成功或失敗。我非常喜歡Django/Python提供的對象關係映射。他們是否還提供了一個交易設施,如果單元中的後續數據庫修改失敗,它會自動「回滾」以前的模型插入?Python/Django中的事務性支持
我正在構建一個需要事務支持的網站,以便數據庫記錄修改將作爲一個單元成功或失敗。我非常喜歡Django/Python提供的對象關係映射。他們是否還提供了一個交易設施,如果單元中的後續數據庫修改失敗,它會自動「回滾」以前的模型插入?Python/Django中的事務性支持
簡短的回答,是的。 Django有許多API來控制運行查詢時事務的發生。
很長的答案,django中的事務管理API在不同的版本上有很大的改變。請檢查您正在使用的django版本的文檔。
我會給你留下一些提示。 from database transactions in django
默認行爲是django運行事務中的每個查詢。查詢在執行後立即提交。
如果您需要一堆ORM查詢作爲單元通過或失敗,那麼django提供了用於事務管理的修飾器/上下文管理器。
特別是,如果你正在使用Django < 1.6
你能提供你正在使用Django的版本看看atomic 裝飾/ ctxt經理或django.db.transaction模塊? – srj 2014-10-07 05:38:55