Я пытаюсь увидеть, когда установлен (или изменен) атрибут пользователя, например User.status
. Затем я использую User.id
для записи в другую таблицу. Проблема в том, что когда я впервые создаю объект User
, вызывается слушатель, но цель объекта User
является временным объектом, что означает, что нет User.id
@event.listens_for(User.status, 'set', active_history=True)
def user_status_set(target, value, oldvalue, initiator):
id = target.id # might not be set if target (User) is a transient object
Что лучше как получить User.id
? Или я должен просто иметь слушателя на объекте User
, использующий событие after_update
, и проверять, изменилось ли status
, и обрабатывать его таким образом?