[python] SQLAlchemy-Utils의 JSON 타입과 관련된 함수 알아보기
SQLAlchemy-Utils는 SQLAlchemy를 확장하여 유용한 기능과 유틸리티 함수들을 제공하는 패키지입니다. 이를 통해 JSON 타입과 관련된 함수들에 대해 알아보겠습니다.
설치
먼저, SQLAlchemy-Utils를 설치합니다.
pip install sqlalchemy-utils
그리고 JSON 타입을 사용하기 위해 json
모듈도 함께 import 합니다.
import json
JSON 타입 다루기
SQLAlchemy-Utils를 사용하여 JSON 타입의 데이터를 다루는 방법은 다음과 같습니다.
crated_at, updated_at 컬럼 추가
먼저, JSON 데이터를 저장할 테이블에 created_at
과 updated_at
컬럼을 추가합니다. 이는 데이터가 생성 또는 업데이트된 시간을 추적하기 위한 용도입니다.
from sqlalchemy_utils import JSONType, Timestamp
class MyModel(Timestamp):
__tablename__ = 'my_model'
id = sa.Column(sa.Integer, primary_key=True)
data = sa.Column(JSONType)
JSON 데이터 저장
JSON 데이터를 저장하는 예시입니다.
data = {'name': 'John', 'age': 30, 'city': 'New York'}
my_model = MyModel(data=data)
session.add(my_model)
session.commit()
JSON 데이터 조회
JSON 데이터를 조회하는 예시입니다.
my_model = session.query(MyModel).first()
print(my_model.data['name'])
# Output: John
JSON 데이터 업데이트
JSON 데이터를 업데이트하는 예시입니다.
my_model = session.query(MyModel).first()
my_model.data['age'] = 31
session.commit()
결론
JSON 타입의 데이터를 SQLAlchemy 모델에서 다루기 위해 SQLAlchemy-Utils의 JSON 타입을 사용할 수 있습니다. 위에서 설명한 함수들을 활용하여 효율적으로 JSON 데이터를 다룰 수 있습니다.
더 많은 기능과 유틸리티 함수에 대해서는 SQLAlchemy-Utils 공식 문서를 참고하세요.