如何使用 SQLAlchemy 在另一个字段设置为 True 时更新一个字段?

How to update a field when another field is set to True using SQLAlchemy?

我的模型上有一个可见字段,它是一个布尔值。更新该模型后,我想修改 published_at 日期字段。如果设置为True,我希望它是当前时间,如果设置为False,我希望它是None。我怎样才能使用 SQLAlchemy 做到这一点?

您可以在您想要的映射器上使用 sqlalchemy 事件侦听器。例如

@event.listens_for(MyObj, 'before_insert')
def update_ts_vector(mapper, connection, obj):
    if obj.updated
       obj.last_update = datetime.datetime.now()