Django的事务

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

 

 

代码和引擎

 

 

posted @ 2017-11-21 13:58  张璨  阅读(133)  评论(0编辑  收藏  举报