-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
serializer에서 BooleanField의 값이 존재하는지 validation을 하지 않는 것 같습니다 #218
Comments
참고로 |
혹시 request에 필요한 값을 날리시기 전에 정의한 serializer나 model에서 field가 required=False 또는 blank=True 설정은 없는 상황인가요? |
@YeonghyeonKO 네, serializer에서는 |
자답합니다. 우선, http request를 보낼 때 body에 보내는 내용은 DRF의 Parser에서 처리하게 됩니다. 이를 통해서
코드를 살펴보면, serializer의 각 field 값을 주어진 data에서 읽는 메소드인 get_value()가 있습니다. TLDR
|
도큐멘트에 적혀있는 내용인데 한참 헤맸네요ㅜㅜ 과제는 |
아 sql에서 db 보셨으면 모든 accepted가 false로 되는 이유를 설명해주신거 같습니다. 저도 비슷한 상황이 왔었는데 처리만 했었지 이유까지는 알아보지 않았는데 감사합니다! |
과제 2 당시 이 부분의 명세가 불명료한 지점이 있었던 것 같은데, 일단 의도는 어쨌든 과제 2의 이 부분에 대해서는 어느 쪽으로 구현하셨어도 자연스러운 것으로 받아들이도록 하겠습니다. 다만 과제 3을 진행할 때는, #221 과 관련해 optional한 것으로 취급하고, default 값을 |
@gina0605 @YeonghyeonKO 관련 내용 과제 2, 과제 3에도 추가했습니다! 감사합니다. f2d6639 |
문제 상황
POST /api/v1/user/participant/
를 구현하는 과정에서 발견한 현상입니다. accepted의 값을 넘겨주지 않았음에도 is_valid() 결과가 True였습니다. 이 현상을 테스트하기 위해 새로운 model과 serializer를 만들어보았습니다.테스트
새로운 app
booleanfield
를 만들어 테스트했습니다.booleanfield/models.py
booleanfield/serializers.py
python manage.py shell
컴퓨터 환경
settings.py는 제공받은 waffle_backend의 settings.py에서
INSTALLED_APPS
와TIME_ZONE
만 수정했습니다.아래는 제 파이썬 환경입니다.
질문
POST /api/v1/user/participant/ request
를 할 때, Body에 데이터를 넘겨주면 ViewSet에서request.data
가 QueryDict였고, 데이터를 아무것도 넘겨주지 않으면request.data
가 빈 dictionary였습니다. 왜request.data
의 type이 달라지나요?The text was updated successfully, but these errors were encountered: