더북(TheBook)

비동기식으로 세션 생성

비동기식도 동기식과 거의 동일합니다.

파이썬 예시 코드

import asyncio
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
from sqlalchemy.orm import declarative_base, mapped_column, Mapped, sessionmaker

AsyncSessionLocal = async_sessionmaker(
    bind=async_engine,
    expire_on_commit=False,
)

async with AsyncSessionLocal() as session:
    stmt = select(User).where(User.username == "puddingcamp")
    result = await session.execute(stmt)
    user = result.scalars().first()
    print(user)

sessionmaker() 대신 async_sessionmaker()로 세션 팩토리를 생성하고, with 문 대신 async with 문을 사용하여 세션 객체를 생성합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.