Django的事务
问题:在资产管理那个项目中,对于硬盘信息,需要往服务器表,硬盘表和资产变更表三张表写东西,但是如果写完服务器表,然后出异常了,这样后面两个表就没东西了
解决:把这三个操作做成原子操作,打包成一个原子性操作,成功都成功,失败都失败,失败就回滚到最初状态--->事务
要想支持事务,需要两个条件:
数据库引擎:innodb
代码,要按事务的方式写
写法:
a.导入模块: from django.db import transaction
b.with transaction.atomic():
.......
c.能回滚,但是不能容错
d.在with....外面套一层try,except
代码和引擎