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)) 

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

转载请注明来处

猜你喜欢

转载自blog.csdn.net/qq_41909967/article/details/88418818
今日推荐