在SQLAlchemy中使用expire_on_commit和autocommit

时间:2013-03-26 16:59:32

标签: python sqlalchemy autocommit

出于各种原因,我已使用autoflush=False, expire_on_commit=False, autocommit=True配置了sessionmaker。主要是,我只想要自动提交行为。由于SQLAlchemy文档中的警告而设置了其他标志:

  

在没有划分的事务时,会话无法做出关于何时应该发生自动刷新还是应该发生自动到期的适当决定,因此应该使用autoflush = False,expire_on_commit = False来禁用这些功能。

     

http://docs.sqlalchemy.org/en/latest/orm/session.html#autocommit-mode

如果没有expire_on_commit行为,我经常发现自己必须手动使对象失效,因此使用expire_on_commit=True会更好。我的问题是,这个警告仍然准确吗? expire_on_commit使某些内容过期时听起来很清楚,所以我不知道它是否与文档一致。

0 个答案:

没有答案