0
如果我想在事務塊中寫入多個SQL語句,並確保該塊的所有ACID屬性都被遵循,那我該如何實現?在django交易中如何提供ACID屬性?
示例 - 當我使用transaction.atomic時,它爲該代碼塊提供原子性,但它是否提供併發控制和隔離(表級別或行級別)?
我目前使用PostgreSQL和我設置隔離級別到ISOLATION_LEVEL_SERIALIZABLE。
這是否爲我提供了transaction.atomic塊的序列化交易?
如果不這樣做,它是如何做到的?
對不起,花了時間來測試這個。 transaction.atomic只是承諾其全部或全部查詢都不會運行。無論我選擇什麼樣的數據庫設置。 – RA123
@ RA123:如果您遇到問題,我建議您發佈關於此問題的具體問題並獲得幫助。編程中的各種各樣的東西都可能出錯,使您無法獲得預期的結果。但是你問了一個非常普遍的問題,答案是Django通過使用底層數據庫的事務(和隔離級別)實現'transaction.atomic'。 –