개발로 자기계발
728x90
pydantic은 type annotation(직접 자료형을 지정한다는 뜻)을 사용해서 데이터를 검증하고 설정들을 관리한다.
pydantic은 vaildation library가 아닌 parsing library이다.
유효성 검사는 제공된 유형 및 제약 조건을 준수하는 모델을 구축하는 목적을 달성하기 위한 수단이다.
pydnatic은 입력 데이터가 아닌 출력모델의 유형과 제약 조건을 보장한다.
더 많은 제약 조건을 걸면 충분히 검증을 위해서도 사용할 수 있다.(ex. Field)

 

1. 데이터 유효성

  • 클래스에서 새 객체를 생성할 때, pydantic은 결과 모델 인스턴스가 모델에 정의된 필드 유형을 준수하도록 보장한다.
  • 클래스내에서 자료형을 지정하고, 자료형이 유효하지 않을 때 에러를 발생시킨다.

 

2. 파싱 확인

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

classTest(BaseModel):
	id:int
	tag:str
	description:str

test = Test(
    id = "12",
    tag = "테스트",
    description = "테스트입니다")

print(type(test.id))
>> int
print(isinstance(test.id,int))
# test.id가 int형인지 True/False
>> True
print(test.dict())
# dict형태로 출력
>> {'id': 12, 'tag': '테스트', 'code': '테스트입니다'}
728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)