Flask SqlAlchemy 开始和结束事务

Ank*_*kit 5 python flask-sqlalchemy

我正在使用 sqlalchemy 扩展在烧瓶中编写一个 SqlAlchemy 事务:

flask.ext.sqlalchemy
Run Code Online (Sandbox Code Playgroud)

我的代码如下所示:

def charge_user(user):
  db.session.begin()
  try:
    transaction = create_transaction()
    if not transaction:
      // cancel the session
      return False

    db.session.add(transaction)
    user.paid = True
    db.session.add(user)
    return True
  except Exception:
    db.session.rollback()
    return False
Run Code Online (Sandbox Code Playgroud)

只是一个简单的问题,sqlalchemy 扩展与flask-sqlalchemy 插件的文档非常混乱。在flask-sqlalchemy 扩展的情况下,如何取消会话/事务。

Oin*_*Oin 5

在flask-sqlalchemy 扩展的情况下,如何取消会话/事务。

这就是db.session.rollback()它的作用。