考虑以下Python代码片段:
from sqlalchemy import *
from sqlalchemy.orm import *
db = create_engine('postgresql:///database', isolation_level='SERIALIZABLE')
Session = scoped_session(sessionmaker(bind=db, autocommit=False))
s = Session()
s.add(SomeInstance())
s.flush()
raw_input('Did it work? ')
它连接到数据库,向会话添加SomeInstance
,刷新,然后暂停。此时,如果我将psql导入我的数据库,我会看到该实例已经被插入 - 即使autocommit是False而我还没有提交会话!
知道我可能做错了吗?
谢谢!
答案 0 :(得分:2)
没关系,sqlalchemy 0.6.3中的psycopg2.py实现中有一个错误;升级到0.6.4解决了这个问题。