from collections .abc import AsyncGenerator
from sqlalchemy.ext .asyncio import AsyncSession, async_sessionmaker, create_async_engine
engine = create_async_engine( database_url)
AsyncSessionLocal = async_sessionmaker( engine)
async def get_db( ) -> AsyncGenerator[ AsyncSession] :
async with AsyncSessionLocal( ) as async_session:
yield async_session
...
@ router.get ( '/' , response_model= list [ SchemaName] )
async def get_list( session: Annotated[ AsyncSession, Depends( get_db) ] ) -> list [ ModelName] :
result = await session.scalars ( select ( ModelName) )
return result.all ( )
ZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEFzeW5jR2VuZXJhdG9yCmZyb20gc3FsYWxjaGVteS5leHQuYXN5bmNpbyBpbXBvcnQgQXN5bmNTZXNzaW9uLCBhc3luY19zZXNzaW9ubWFrZXIsIGNyZWF0ZV9hc3luY19lbmdpbmUKCmVuZ2luZSA9IGNyZWF0ZV9hc3luY19lbmdpbmUoZGF0YWJhc2VfdXJsKQpBc3luY1Nlc3Npb25Mb2NhbCA9IGFzeW5jX3Nlc3Npb25tYWtlcihlbmdpbmUpCgphc3luYyBkZWYgZ2V0X2RiKCkgLT4gQXN5bmNHZW5lcmF0b3JbQXN5bmNTZXNzaW9uXToKICAgIGFzeW5jIHdpdGggQXN5bmNTZXNzaW9uTG9jYWwoKSBhcyBhc3luY19zZXNzaW9uOgogICAgICAgIHlpZWxkIGFzeW5jX3Nlc3Npb24KCi4uLgoKQHJvdXRlci5nZXQoJy8nLCByZXNwb25zZV9tb2RlbD1saXN0W1NjaGVtYU5hbWVdKQphc3luYyBkZWYgZ2V0X2xpc3Qoc2Vzc2lvbjogQW5ub3RhdGVkW0FzeW5jU2Vzc2lvbiwgRGVwZW5kcyhnZXRfZGIpXSkgLT4gbGlzdFtNb2RlbE5hbWVdOgogICAgcmVzdWx0ID0gYXdhaXQgc2Vzc2lvbi5zY2FsYXJzKHNlbGVjdChNb2RlbE5hbWUpKQogICAgcmV0dXJuIHJlc3VsdC5hbGwoKQ==