如何在SQLAlchemy中将参数传递给事件侦听器?

2024-04-27 03:15:47 发布

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

我创建了一个SQLAlchemy模型的实例(用户):

from .models import User

user = User()
user.save() # db.session.commit()

…然后我将事件侦听器绑定到该模型:

^{pr2}$

Q:当我save实例时,如何向receive_before_update_user方法传递任何参数?在


例如,我试图向实例添加一个静态属性,但是得到了AttributeError(我认为这不是最好的主意,但我还没有另一个):

user = User()
user.property = 'value'
user.save()

...

@event.listens_for(User, 'before_update')
def receive_before_update_user(mapper, connection, target):
  print(targer.property)

感谢您的建议:)


Tags: 实例用户from模型importdbsqlalchemymodels