如何在使用sqlalchemy设置值后运行“set”eventlistener

2024-03-29 01:48:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

现在target.someOtherValue只是有时保存新值(表示时间问题?)。在

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


Tags: 项目nameeventtarget目标forsqlalchemydef
1条回答
网友
1楼 · 发布于 2024-03-29 01:48:31

出现了类似的问题,但通过“before_update”事件解决了该问题。希望对你也有用。在

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

# ... (event handling logic) ...

注意:确保not在你的SomeClass对象上添加.name。使用target.yourclassproperty来引用特定于特定类的属性。在

阅读有关Sqlalchemy's Mapper Events的更多信息

相关问题 更多 >