SQLAlchemy: Session.get после delete без flush
В одной сессии объект загрузили, пометили на удаление и тут же запросили по тому же id. При этом autoflush отключён. Разберите, откуда берётся результат повторного get и успел ли запрос DELETE попасть в базу.
Программа курса «FastAPI для начинающих: API с базой данных и тестами».
В Session с autoflush=False объект room загружен через db.get(Room, 1). Затем вызван db.delete(room), но ни flush, ни commit ещё не выполнялись. Что вернёт немедленный db.get(Room, 1) в той же Session?
Без регистрации · результат не сохраняется
Связанные задачи
- SQLAlchemy refresh: что будет с несохранённым изменением
- SQLAlchemy: удаление без commit и закрытие Session
- FastAPI и база данных: обновление и удаление записи
- SQLAlchemy: id объекта до добавления в Session
- SQLAlchemy IntegrityError: нужен ли rollback после flush
- FastAPI и связь таблиц: бронирования одной комнаты
