Использование SQLAlchemy set listener, чтобы увидеть, когда установлен атрибут объекта - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь увидеть, когда установлен (или изменен) атрибут пользователя, например 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, и обрабатывать его таким образом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...