出于各种原因,我已使用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
使某些内容过期时听起来很清楚,所以我不知道它是否与文档一致。