인프런 커뮤니티 질문&답변
schema 클래스의 model_config 속성 관련 질문
작성
·
159
0
안녕하세요! fastapi 입문으로 강사님 강의를 듣게되어 영광입니다.
강의 내용 따라 진행은 잘되고 있으나 강사님이 구현하신
class SubCategoryCreate(BaseModel):
model_config = ConfigDict(from_attributes=True)
subcategory_name: str
category_id: int
model_config = {
"json_schema_extra": {
"example": { "subcategory_id": 1, "subcategory_name": "수도", "category_id": 1 }
}
이렇게 구현을 하셨는데 model_config 변수가 두번사용 되어 마지막에 사용된 model_config 값이 첫번째 ConfigDict(from_attributes=True) 값을 덮어 씌워 첫번째로 사용된 model_config 변수의 역할이 없어지는것이 아닌가 하여 의문이 들어 왜 같은 변수명으로 덮어 씌우는지 궁금하여 질문 드립니다.
퀴즈
프로젝트 구조에서 Model과 Schema의 주된 차이점은 무엇인가요?
Model은 API 엔드포인트를 정의하고 Schema는 DB 연결을 관리합니다.
Model은 데이터베이스 테이블 구조를 정의하고 Schema는 API 데이터 유효성 검사 및 구조를 정의합니다.
Model은 클라이언트 요청 처리를 담당하고 Schema는 백그라운드 작업을 처리합니다.
Model은 환경 변수를 설정하고 Schema는 라이브러리를 설치합니다.
답변 1
0
class SubCategoryCreate(BaseModel):
subcategory_name: str
category_id: int
model_config = ConfigDict(
from_attributes=True, # 첫 번째 설정
json_schema_extra={ # 두 번째 설정
"example": {
"subcategory_id": 1,
"subcategory_name": "수도",
"category_id": 1
}
}
)원래는 이렇게 해야 맞습니다만 순서대로 하다보니 두번 할당을 했었네요 ^^; 수정해놓겠습니다.
게다가 딕셔너리를 그대로 db에서 받아와서 validation 에러도 발생하지 않았었네요.
원래대로면 저렇게하면 pydantic 에러가 뜨는게 정상입니다 ㅎㅎ;





감사합니다!