Я храню данные приложения в базе (sqlite3) и пытаюсь использовать транзакции для сохранения. То есть при старте приложения начинается транзакция, которая завершается, когда пользователь выбирает «Сохранить»; тут же начинается новая. Фактически, за меня это делает sqlalchemy, я просто вызываю session.commit() .
При закрытии приложения я хочу знать, не изменил ли пользователь чего, чтобы предложить ему сохранить изменения. Из того, что я нашёл в документации, мне могла бы подойти проверка Session.dirty, Session.new и Session.deleted на непустоту, но они опустошаются при вызове flush (а отключать autoflush не кажется хорошей идеей).
Как узнать, были ли после начала транзакции запросы к базе данных?