如何在提交后设置触发ZODB对象更改的挂钩?我可以为IObjectWillBeMovedEvent和IObjectWillBeAddedEvent设置处理程序,但是这些会在创建对象时立即触发。是否还有一些我可以使用的事件或钩子只会在提交更改时触发?
答案 0 :(得分:2)
Python的transaction包不使用zope.event事件通知,并且有自己的系统用于注册可调用挂钩。但是,您必须为每个正在运行的事务添加挂钩,您可以考虑使用zope.event在IObjectModifiedEvent(或类似的)中执行此操作。
请参阅ITransaction.addAfterCommitHook()的说明。