더북(TheBook)

4. email 모델 필드와 UniqueConstraint

④는 고윳값 제약을 설정합니다. 고윳값 제약은 Field() 함수를 사용하지 않는 방법이 있는데, __table_args__ 속성에 정의하는 것입니다.

다음 예시 코드처럼 사용합니다.

파이썬 예시 코드

from sqlalchemy import UniqueConstraint

class User(SQLModel, table=True):
    __tablename__ = "users"
    __table_args__ = (
        UniqueConstraint("email", name="uq_email"),
    )

__table_args__는 모델에 매핑되는 테이블에 적용할 설정을 정의하는 데 사용합니다. __table_args__에 설정은 여러 개 지정 가능한데, 코드를 잘 보면 UniqueConstraint 괄호 뒤에 쉼표가 있습니다. 즉, __table_args__에 할당하는 값은 튜플입니다.

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