首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烧瓶-SQLAlchemy session.rollback不工作

烧瓶-SQLAlchemy session.rollback不工作
EN

Stack Overflow用户
提问于 2018-02-19 13:24:14
回答 1查看 4.7K关注 0票数 2

我正在用烧瓶开发一个API,我使用的是烧瓶-SQALCHEMY。

当api抛出一些异常时,我尝试回滚会话。

我的代码

代码语言:javascript
复制
def create_user():
    user = User()
    db.session.add(user)
    db.session.flush()
    return user

try:
    new_user = create_user()
    print('x' + 2) # force error
    db.session.commit()
except Exception as error:
    db.session.rollback()
    raise

MySQL (Python3.6.3&MySQL 5.7):

代码语言:javascript
复制
SQLAlchemy==1.2.2
astroid==1.6.0
flask==0.12.2
flask-login==0.4.1
Flask-Migrate==2.1.1
flask-script==2.0.6
flask-sqlalchemy==2.3.2
flask-validator==1.2.3
isort==4.2.15
pygelf==0.3.3
pylint==1.8.1
PyMySQL==0.7.11
pytest==3.3.1
Werkzeug==0.13
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-19 13:35:25

来自文档

刷新语句将导致隐式提交。

移除db.session.flush(),它将按预期工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48867212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档