Контекст: сеанс Pyramid, SQLAlchemy с ZopeTransactionExtension, диспетчер транзакций Pyramid.Получение списка измененных и еще не очищенных объектов в крюке «до фиксации»
Этот документ (http://zodb.readthedocs.org/en/latest/transactions.html#more-features-and-things-to-keep-in-mind-about-transactions) говорит:
Перед фиксации крючков
В некоторых случаях может быть желательно, чтобы выполнить код прямо перед тем, как транзакция фиксируется. Например, если операция должна выполняться для всех объектов, измененных во время транзакции, может быть лучше вызвать ее один раз во время фиксации, а не каждый раз, когда объект будет изменен, что может замедлить работу.
мне нужно сделать именно это (получить список измененных объектов, будь то покраснела или нет), но проблема в том, крюковые функции, которые могут быть добавлены current_transaction.addBeforeCommitHook()
появляются получить только арг и kwargs прошли программистами: не список измененных объектов, а не транзакция и т. д.
В: Как получить объекты доступа к крюку изменен в текущей транзакции до того, как они сброшены?
права, так как объекты которые были изменены, очень специфичны для расширения транзакции, но крючок не является; он знает только о транзакции. Возможно, вы спросите транзакцию для всех расширений и найдите те, у которых есть сеанс SQLAlchemy. –