擅长:python、mysql、java
<p>您应该像使用注释<code>@transaction.atomic()</code></p>
<h2>事务回滚</h2>
<p>第一个选项是回滚整个事务。例如:</p>
<pre><code>a.save() # Succeeds, but may be undone by transaction rollback
try:
b.save() # Could throw exception
except IntegrityError:
transaction.rollback()
c.save() # Succeeds, but a.save() may have been undone
</code></pre>
<p>调用<code>transaction.rollback()</code>回滚整个事务。任何
未提交的数据库操作将丢失。在本例中,更改
由<code>a.save()</code>生成的操作将丢失,即使该操作未引发任何错误
本身。在</p>
<p>为了更好地理解,只需检查<a href="https://docs.djangoproject.com/en/1.9/topics/db/transactions/" rel="nofollow">transaction</a></p>