上下文:金字塔,SQLAlchemy会话与ZopeTransactionExtension,金字塔事务管理器。你知道吗
提交挂钩之前
在某些情况下,可能需要在提交事务之前执行一些代码。例如,如果需要对事务期间更改的所有对象执行一个操作,则最好在提交时调用一次,而不是每次更改对象时都调用一次,这样可能会降低速度。
我需要准确地做到这一点(获取更改对象的列表,无论是否刷新),但问题是可以由current_transaction.addBeforeCommitHook()
添加的钩子函数似乎只接收程序员传递的arg和kwarg:不是更改对象的列表,也不是事务,等等
问:如何在刷新钩子访问对象之前,在当前事务中更改它们?你知道吗
我解决了这个问题,虽然不是在“before commit”钩子中,而是通过继承
ZopeTransactionExtension
:也许你可以访问会话.脏与get_current_request
相关问题 更多 >
编程相关推荐