transaction.atomic()我有我做了一系列的模型保存像這樣一個觀點:混淆在Django
with transaction.atomic():
modelA.save()
modelB.save()
...
我希望所有的保存一次做,但是當我檢查數據庫執行後modelA.save()
之前執行modelB.save()
我看到表modelA
寫入已改變,即寫入modelA
已經提交給db。我認爲transaction.atomic()
塊中的所有寫入操作都會在最後一起完成。我錯過了什麼?我使用的是Django 1.10和Oracle 12g。由於
你怎麼執行後,檢查數據庫modelA.save()之前和執行modelB.save()?你所描述的是預期的行爲 –
我查詢sql_developer。 –
當然有查詢。我的意思是,你正在做的: 與transaction.atomic(): modelA.save() ###在這裏,您查詢數據庫 modelB.save() 你想用中斷執行。 要了解我期望看到的內容,您需要以COMMITED READ模式打開事務。我猜想Oracle Django的後端有一個屬性。 –