Хочу получить асинхронную сессию вне контроллера и передать ее дальше в репозиторий. Столкнулся со следующей ошибкой
File "/usr/src/app/src/modules/core/IRepository.py", line 29, in find_all
result = await self.session.execute(select(self.model))
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Depends' object has no attribute 'execute'
Вот мой код
# file_1
def get_user_server_repo(
session: AsyncSession = Depends(get_async_session),
) -> UserServerRepository:
return UserServerRepository(model=UserServer, session=session)
#file_2
engine = create_async_engine(settings.database.DATABASE_URL)
async_session_maker = sessionmaker(
engine,
class_=AsyncSession,
expire_on_commit=False,
)
async def get_async_session() -> AsyncGenerator[AsyncSession, None]:
async with async_session_maker() as session:
yield session
Если вставить print и попробовать вывести session то получу следующее
Depends(get_async_session)