[FastAPI] pydantic v2 - orm_mode를 마이그레이션..

2025. 1. 12. 19:40·프로그래밍/Backend
반응형
BIG

 

어쩌다보니 백엔드를 구축해야 하는 프로젝트가 생겼다.

node.js도 찍먹을 해보긴 하였지만 아무래도

내가 좋아하는 파이썬으로 쉽게 배울 수 있는 느낌이라 쭉 fastAPI를 공부중..

그러던중 pydantic이라는 모델 검사??하는 녀석이 버전이 1이었던 것을 기준으로

보통 서적에서는 많이 다루던데 

이제는 v2가 나온지 좀 되었기 때문에

책을 보며 따라쳐도 어찌저찌 내가 버전업을 억지로 해야한다.

 

class TaskCreateResponse(BaseModel):
    id: int

    class Config:
        orm_mode = True

이것은 기본적인 베이스모델을 맏고 orm을 사용할 적에 잘 적용해라 라는 뜻인데

 

pydantic의 v2 에서는 다음과 같게 써야한다.

 

from pydantic import BaseModel, Field, ConfigDict

class TaskCreateResponse(TaskCreate):
    model_config = ConfigDict(from_attributes=True)
    id: int

문서나 에러에서도 보면

orm_mode대신 from_attributes를 사용하라고 나와있다..

 

그리고나서 중요한 점은..

class TaskBase(BaseModel):
    title: str | None = Field(None, examples="세탁소 맡긴것 찾기")

 

원래는 위처럼 적어도 examples가 잘 작동을 하였으나

v2 로 넘어옴 + ConfigDict(from_attributes) 를 사용하게 된다면

위에는 에러로 표시된다.

더 이상 examples가 단일 객체로 적용이 되지 않게 된것..

class TaskBase(BaseModel):
    title: str | None = Field(None, examples=["세탁소 맡긴것 찾기"])

이런식으로 리스트로 묶어주어야한다.

 

이 부분은.. 일단 내가 맨날 까먹어서 기억하기 위한 개발로그...이기에

오늘은 여기까지!

반응형
BIG
저작자표시 비영리 동일조건 (새창열림)

'프로그래밍 > Backend' 카테고리의 다른 글

[AWS] CloudFront, S3 이미지 pdf 다운로드 캐싱에러 log  (0) 2025.02.10
[FastAPI] AWS LightSail에서 DockerCompose ssl (https) 적용하기  (0) 2025.02.05
[FastAPI] docker compose로 fastapi & mysql aws LightSail에 배포하기  (0) 2025.01.23
[FastAPI] MySQL 한글이 깨져 보일 때 (feat: 파워쉘, cmd등)  (0) 2025.01.16
'프로그래밍/Backend' 카테고리의 다른 글
  • [AWS] CloudFront, S3 이미지 pdf 다운로드 캐싱에러 log
  • [FastAPI] AWS LightSail에서 DockerCompose ssl (https) 적용하기
  • [FastAPI] docker compose로 fastapi & mysql aws LightSail에 배포하기
  • [FastAPI] MySQL 한글이 깨져 보일 때 (feat: 파워쉘, cmd등)
dduR
dduR
글쓰는 프로그래머 뚜르입니다 :)
    백만원으로 1억 만들기
    상담 신청하기
    »
    • 분류 전체보기
      • 공지사항
      • 프로그래밍
        • Flutter
        • Backend
        • Unity
        • Frontend
      • 재테크 부수입
      • 편집툴
        • 포토샵
        • 애프터이펙트
      • 이공계지식
        • 미분적분학
        • 공업수학
        • IT
  • 블로그 메뉴

    • 홈
    • 방명록
  • dduR
    부수익 창출에 목마른 개발자
    dduR
  • 링크

  • 인기 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.2
dduR
[FastAPI] pydantic v2 - orm_mode를 마이그레이션..
상단으로

티스토리툴바