inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! FastAPI 입문

(실습) ORM 적용 - GET 단일 조회 API

pydantic.error_wrappers.ValidationError 오류가 떠요

해결된 질문

1385

inflearn1.modeep

작성한 질문수 2

0

지금 orm적용 get단일 조회 api 강의를 보고있는데 코드를 똑같이 쳤는데 마지막에 swagger 에서 입력 하면 pydantic.error_wrappers.ValidationError: 3 validation errors for ToDoSchema

id

field required (type=value_error.missing)

content

field required (type=value_error.missing)

is_done

field required (type=value_error.missing)

이 오류가 뜹니다..ㅠㅠ 무슨 오류인가요

python 리팩토링 orm FastAPI pytest

답변 1

1

신동현

안녕하세요! ToDoSchema에 필수값이 전달되지 않았기 때문에 발생하는 에러로 확인됩니다. 핸들러에서 리턴하는 코드에 ToDoSchema.from_orm(todo) 부분이 잘 적용되어 있나 확인 부탁드립니다.

0

inflearn1.modeep

@app.get("/todos/{todo_id}", status_code=200)
def get_todo_hendler(
todo_id: int,
session: Session = Depends(get_db),
) -> ToDoSchema:
todo: ToDo | None = get_todo_by_todo_id(session=session, todo_id = todo_id)
if todo:
return ToDoSchema.from_orm(todo)
raise HTTPException(status_code=404, detail="찾을 수 없습니다.") 제 코드는 이렇습니다.

0

신동현

get_todo_by_todo_id 함수 코드는 어떻게 작성하셨나요?

0

inflearn1.modeep

def get_todo_by_todo_id(session:Session, todo_id: int) -> ToDo | None:
return session.scalars(select(ToDo).where(ToDo.id == todo_id))
이렇게 작성했습니다

 

 

1

신동현

scalars -> scalar로 변경 부탁드립니다!

0

신동현

scalars()는 조건문에 해당하는 데이터를 조회해서 ScalarResult를 반환합니다. scalar()는 반환된 ScalarResult에 데이터가 있는 경우 하나의 python 객체를 반환하고 데이터가 없는 경우 None을 반환하는 메소드입니다.

FasAPI Swagger UI에서 단일조회 todo_id 를 사용했는데, 입력값에 1을 넣으니 오류가 뜹니다 ㅠ

0

87

2

DB 질문

0

81

2

Post API 강의 질문

0

55

2

post 작성 오류

0

107

3

uvicorn 종료 문제

0

436

2

왜 return타입이 ToDo라는 스트링인가요?

0

130

2

ORM 연관관계

0

109

2

Oracle DB 연결과 관련해 질문이 있습니다..

0

153

2

섹션 2, 3의 PATCH API의 차이점

0

132

1

ORM 테이블 생성

0

119

1

테스트 코드 오류

0

177

1

orm relationship 정의 중 해당 에러 발생 시 어떻게 고쳐야 하는걸까요

0

214

3

FastAPI 폴더 구조에 대해 질문이 있습니다.

0

412

2

질문 있습니다.

0

161

2

ORM 개념

0

133

1

mysql root 비밀번호 변경관련

0

296

2

[질문] patch API

0

151

3

디자인 패턴

0

128

1

main.py 리로드문제

0

235

2

인터프리터 오류

0

286

4

로그 저장에 대한 질문입니다.

0

100

1

Internal Server Error

0

240

2

PATCH API - 수정

0

199

2

파이참 임포트 문제

0

263

1