擅长:python、mysql、java
<p>从<a href="http://docs.sqlalchemy.org/en/rel_0_8/orm/session.html#sqlalchemy.orm.session.Session.refresh" rel="noreferrer">docs</a>:</p>
<blockquote>
<p>Note that a highly isolated transaction will return the same values as were previously read in that same transaction, regardless of changes in database state outside of that transaction</p>
</blockquote>
<p>SQLAlchemy使用一个事务工作单元模型,其中每个事务都假设是内部一致的。会话是事务顶部的接口。由于事务被认为是内部一致的,SQLAlchemy只会(好吧,不完全是,但为了便于解释……)从数据库中检索给定的数据,并在每个事务中更新一次相关对象的状态。由于您已经在同一个会话事务中查询了对象,SQLAlchemy不会在该事务范围内再次从数据库更新该对象中的数据。如果要轮询数据库,则每次都需要使用一个新事务进行轮询。</p>