无法在sqlalchemy,postgresql,python堆栈中提交和回滚事务

时间:2016-12-27 07:17:47

标签: python postgresql python-2.7 sqlalchemy

我有烧瓶申请,需要实施交易。 我试过这个。

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine

Session = sessionmaker()
engine = create_engine(SQLALCHEMY_DATABASE_URI, echo=True)
Base = declarative_base()
Session.configure(bind=engine)
db_session = Session()
try:
    db_session.add(post)
    db_session.commit()
except Exception as e:
    db_session.rollback()

我可以在日志中看到回滚,但它不起作用并插入行但应该回滚。

2016-12-27 11:14:49,157 INFO sqlalchemy.engine.base.Engine ROLLBACK

然后我将其更改为

try:
    db_session.add(post)
    db_session.flush()
except Exception as e:
    db_session.rollback()
db_session.commit()

这有效,但我不知道这是一个好习惯。

0 个答案:

没有答案