django 在views中编写自动回滚代码

    在使用django开发web项目时,当测试时,会出现一些错误,导致数据库会把一些没有出错的东西存进去了,而出错的没有记录,这样就造成了数据不完整。

 

    所以在今后的开发过程中,要经常使用transaction 来保证每一次数据库操作要么成功,要么就不要添加(即出现错误,就回滚)

 

     以下是代码实例:

from django.db import transaction  #导入模块

with transaction.atomic():    #使用with,这样在with下面的代码如果发生错误
    user = User()             # 将自动回滚之前的操作(with内的操作)
    user.name = "pzy"
    user.age = 20
    user.save()



#以下是与try except合用

try :
    with transaction.atomic():    #使用with,这样在with下面的代码如果发生错误
    user = User()             # 将自动回滚之前的操作(with内的操作)
    user.name = "pzy"
    user.age = 20
    user.save()
except Exception as e:      #照样使用except捕捉信息
    print("出现错误<%s>"%str(e)) 

  以上纯属个人使用经验,在代码使用方面并不是很严谨科学,不喜勿喷!

转载请注明来处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值