[python] SQLAlchemy-Utils를 사용하여 Enum 유형 다루기
SQLAlchemy-Utils는 SQLAlchemy ORM을 보완하여 다양한 유틸리티 기능을 제공합니다. 여기에서는 SQLAlchemy-Utils를 사용하여 Enum 유형을 다루는 방법에 대해 알아보겠습니다.
SQLAlchemy-Utils 설치
SQLAlchemy-Utils를 설치하려면 다음 명령을 사용합니다.
pip install sqlalchemy-utils
Enum 유형 정의
먼저, Enum 유형을 정의해야 합니다. 예를 들어, 다음과 같이 Status
Enum을 정의할 수 있습니다.
from enum import Enum
class Status(Enum):
active = "active"
inactive = "inactive"
pending = "pending"
Enum 유형 매핑
이제, SQLAlchemy 모델에서 Enum 유형을 사용할 수 있도록 매핑해야 합니다. 이를 위해 Enum
타입을 사용하여 SQLAlchemy-Utils
모듈을 임포트합니다.
from sqlalchemy_utils import ChoiceType
from sqlalchemy import Column, Integer
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class YourModel(Base):
__tablename__ = 'your_table'
id = Column(Integer, primary_key=True)
status = Column(ChoiceType(Status, impl=String(50)))
위의 코드에서 status
필드는 Status
Enum 유형에 매핑되었습니다.
코드 실행
이제 위의 코드를 실행하면 SQLAlchemy 모델에서 Enum 유형을 성공적으로 다룰 수 있습니다.
결론
SQLAlchemy-Utils를 사용하여 Enum 유형을 다루는 것은 간단하고 효율적인 방법입니다. 이를 통해 데이터 모델에서 Enum 유형을 쉽게 다룰 수 있고, 코드를 더욱 간결하게 유지할 수 있습니다.