擅长:python、mysql、java
<p>我解决了这个问题,虽然不是在“before commit”钩子中,而是通过继承<code>ZopeTransactionExtension</code>:</p>
<pre><code>class ZopeTransactionExtensionWithRequest(ZopeTransactionExtension):
def before_flush(self, session, flush_context, instances):
super(ZopeTransactionExtensionWithRequest, self).before_flush(session, flush_context, instances)
for sqa_inst in session.dirty:
pass
</code></pre>