채널톡 아이콘

인프런 커뮤니티 질문&답변

하늘111님의 프로필 이미지

작성한 질문수 3

FastAPI 찍어먹기 (FastAPI + React.js + AWS LightSail)

Schema (update)

schema 클래스의 model_config 속성 관련 질문

작성

·

35

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 변수의 역할이 없어지는것이 아닌가 하여 의문이 들어 왜 같은 변수명으로 덮어 씌우는지 궁금하여 질문 드립니다.

답변 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 에러가 뜨는게 정상입니다 ㅎㅎ;

하늘111님의 프로필 이미지
하늘111
질문자

감사합니다!