如何在使用 sqlchemy 设置值后运行'set'事件侦听器



>我在sqlalchemy项目中有一个事件侦听器,我想在保存目标和另一个值后运行它。

@event.listens_for(Component.name, 'set')
def do_things(target, value, oldvalue, initiator):
    print(target.someOtherValue)

现在target.someOtherValue有时只保存新值(指示计时问题?(。

如何确保在保存新值后始终运行函数?

有类似的问题,但通过"before_update"事件解决了它。希望它也适合您。

@event.listens_for(SomeClass, 'before_update')
def receive_before_update(mapper, connection, target):
"listen for the 'before_update' event"
# ... (event handling logic) ...

注意:确保notSomeClass对象上添加.name。使用该target.yourclassproperty引用特定于特定类的属性。

阅读更多关于 Sqlalchemy 的映射器事件

最新更新