Я использую перехваты sqlalchemy для проверки прав пользователей для некоторых операций (например, запросов или вставки данных в БД).Sqlalchemy Session - список экземпляров ORM для совершения
Чтобы предотвратить сохранение недоступных записей, я устанавливаю hook before_commit, который получает объект сеанса. Я хочу получить все экземпляры, которые должны выполняться этой фиксацией, чтобы проверить, могут ли эти экземпляры быть сохранены или нет (и исключить неправильные записи).
Для добавления новых записей он работает через after_attach и before_commit (исключение внутри after_attach по какой-то причине не работает). Но в случае запроса-> update-> commit экземпляров after_attach не вызывался, поэтому все проверки разрешений должны быть перенесены в before_commit.