0
我正在使用SQLAlchemy和两个不同的会话对象。在一个对象中,我将行插入到mysql数据库中。在另一个会话中,我正在查询该数据库的最大行ID。但是,第二次会话不会查询数据库中的最新内容。如果我手动查询数据库,我会看到正确的,更高的最大行ID。如何强制SQLAlchemy更新行
如何强制第二次会话查询实时数据库?
我正在使用SQLAlchemy和两个不同的会话对象。在一个对象中,我将行插入到mysql数据库中。在另一个会话中,我正在查询该数据库的最大行ID。但是,第二次会话不会查询数据库中的最新内容。如果我手动查询数据库,我会看到正确的,更高的最大行ID。如何强制SQLAlchemy更新行
如何强制第二次会话查询实时数据库?
第一个会话需要提交以刷新对数据库的更改。
first_session.commit()
会议在内存中保存的所有对象,并一起刷新他们的数据库(延迟加载,为了提高效率)。因此,first_session
所做的更改对正在从数据库读取数据的second_session
不可见。
为什么你需要两个会话来达到这个目的? –
我可能不这样做,但是这是代码当前编写的方式,如果对此问题有简单的修复,我宁愿不重构它。 –
简单的修复就是重写你的代码。 –