내가 보려고 만든 블로그
<Python> pydantic 본문
pydantic은 type annotation 을 바탕으로 데이터를 검증해주고 어긋날 시 올바른 형태로 바꿔주는 역할을 해주는 라이브러리다.
주로 사용처는 fastapi를 통해 웹개발을 할 때 request , response 등을 통해 데이터를 주고 받을 때 데이터들을 검증해줄때 사용한다.
다음 포스팅에 sql_alchemy 이용해서 DB연동하는 내용을 적을라고 했는데 한번에 같이 적는 것 보다는 나눠 적는게 나은 것 같아 적어봄!
fastapi에서 사용하는 예시를 가져왔다 (매우 간단하기 하지만) . 유저테이블에 다음과 같이 데이터를 넣어 줄 때 해당 컬럼의 자료형을 체크해주는 것. 이름에 이상한 숫자가 들어온다면 오류를 내뱉거나 자동으로 형변환이 가능하다.
def add_user(user: schemas.User, db: Session) -> models.User: # schema.py의 User클래스를 이용
row = models.User(
id=user.id,
username=user.username,
)
db.add(row)
db.commit()
return row
# schema.py
from pydantic import BaseModel
class User(BaseModel):
id: int
user_name : str
pydantic을 사용할 때 위와 같이 BaseModel 이라는 클래스를 상속받아서 만들어준 클래스에 데이터와 자료형을 적어주면 됨 .
또한 선언한 자료형과 다른 데이터가 들어올 경우 자동으로 자료형을 옳바른 자료형으로 바꿔준다 .
'Python | Web > Python' 카테고리의 다른 글
<Python> typing (0) | 2022.10.14 |
---|---|
<Python> Framework 안쓰고 Api 서버 만들기 (0) | 2022.08.20 |
<Python> Socket 통신으로 간단한 채팅 프로그램 만들기 (0) | 2022.07.13 |
<파이썬> Decorator 란? (0) | 2021.08.15 |
<파이썬> Descriptor (0) | 2021.08.08 |