首页 > 数据库技术 > 详细

数据库插入失败 和回滚

时间:2020-05-27 09:27:47      阅读:73      评论:0      收藏:0      [点我收藏+]

from app.web import web
from flask_login import login_required,current_user
from flask import current_app
from app.models.gift import Gift
from models.base import db

 

@web.route(‘/gifts/book/<isbn>‘)
@login_required
def save_to_gifts(isbn):
  if current_user.can_save_to_list(isbn):
    try:
      gift = Gift()
      gift.isbn=isbn
      #获取当前用户的id
      gift.uid=current_user.id
      current_user.beans += current_app.config["BEANS_UPLOAD_ONE_BOOK"]    #这里调用current_user 为啥不用传入add 神奇
      db.session.add(gift)
      db.session.commit()     #当执行到这步的时候,数据才会插入到数据库
    except:
      #事务回滚
      db.session.rollback()  #当commit()  失败后要执行回滚,不然下一个操作也会失败
  else:
    flash("这本书已添加至您的赠送清单或已存在你的心愿清单")

数据库插入失败 和回滚

原文:https://www.cnblogs.com/kaibindirver/p/12970077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!