擅长:python、mysql、java
<p>当您在ORM之外修改数据库时,可以使用<a href="http://docs.sqlalchemy.org/en/latest/orm/session_api.html#sqlalchemy.orm.attributes.set_committed_value" rel="nofollow noreferrer">^{<cd1>}</a>让ORM知道当前的数据库状态。在</p>
<p>示例:</p>
<pre><code>wallet = session.query(Wallet).filter_by(id=123)
wallet.balance = 0
session.execute("UPDATE wallet SET balance = 0 WHERE id = 123;")
set_committed_value(wallet, "balance", 0)
session.commit() # won't issue additional SQL to update wallet
</code></pre>
<p>如果<em>真的</em>想要将实例标记为not dirty,那么可以处理SQLAlchemy的内部结构:</p>
^{pr2}$