Flask SqlAlchemy 开始和结束事务

Flask SqlAlchemy begin and end transaction

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

flask.ext.sqlalchemy

我的代码如下所示:

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

只是一个简单的问题,sqlalchemy 扩展与 flask-sqlalchemy 插件的文档非常混乱。如果是 flask-sqlalchemy 扩展,我该如何取消 session/transaction。

How do I do cancel the session/transaction in case of flask-sqlalchemy extension.

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