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的后端有一个属性。 –