Flask使用的SQLalchmy天然支持事务的特性,不过为了实现回滚还需要添加一些代码
if form.validate():
# 将用户信息注册进数据库
model_user = User()
model_user.login_name = form.username.data
# 使用加密方法存储密码
model_user._login_pwd = generate_password_hash(form.password.data)
model_user.created_time = model_user.updated_time = getCurrentTime()
try:
db.session.add(model_user)
db.session.commit()
except Exception as error:
db.session.rollback()
return ops_renderErrJSON(msg=str(error))
else:
return ops_renderJSON(msg="注册成功~~")
通过使用try-except语句结合db.session.rollback()方法实现了事务特性与回滚特性。