pydantic 2

Pydantic 옵션 하나로 ORM 을 DTO 모델로 변환하기

ORM 에서 DTO 로 모델 변환하기 ORM(Object-Relational Mapping) 객체를 통해 DB의 데이터를 가져왔다면 이를 DTO(Data Transfer Object)를 통해 다른 레이어로 전달하고 싶을 것이다. 이 글에서는 Pydantic 의 from_attributes=True 옵션을 활용하여 손쉽게 DTO를 생성하는 방법을 설명하고자 한다. 본론에 앞서 우선 ORM을 DTO로 변환하는 다양한 방법들을 살펴보자. (본론으로 넘어가고 싶다면 생략해도 좋다) 예를 들어 아래처럼 ORM과 DTO 모델이 명시되어 있다고 해보자. from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declar..

Pydantic 의 Datetime 타입으로 날짜와 시간을 다뤄보자

Pydantic 의 네 가지 Datetime 타입 Pydantic은 데이터 유효성 검사와 데이터 클래스 설정을 간결하게 만들어주는 Python 라이브러리다. Pydantic에서는 날짜와 시간을 다루는 특별한 타입이 있는데, AwareDatetime, NaiveDatetime, PastDatetime, FutureDatetime이 바로 그것이다. 이 글을 통해 각각의 타입이 어떻게 동작하고 언제 사용되는지 확인해보자. AwareDatetime AwareDatetime은 시간대(timezone) 정보가 포함된 datetime 객체를 의미한다. 세계 각지의 시간대를 일관성 있게 처리해야 할 때 유용하게 쓸 수 있다. 사용 예시 from pydantic import BaseModel from datetime i..