Gerleff/ddd-book-manager

Метод __exit__ в Uow

Opened this issue · 0 comments

В этом случае rollback разве не всегда выполняется?

async def __aexit__(self, *args):
        """Закрытие контекста и откат на случай ошибки."""
        self._session.expunge_all()
        await self.rollback()
        await self._session.close()
        self._inside_context_manager = False

Возможно, должны быть так?

 async def __aexit__(self, exc_type, exc_value, exc_tb):
        """Закрытие контекста и откат на случай ошибки."""
        if exc_type is not None:
            await self.rollback()
            return True  # Исключение было обработано