def post(self, request):
serializer = ArticleSerializer(data=request.data)
serializer.is_valid(raise_exception=True):
serializer.save(user=request.user)
return Response(({"message": "게시글 작성 완료!"}, serializer.data), status=status.HTTP_201_CREATED)
- raise_exception=True를 is_valid 뒤에 추가해 주면 raise된 에러를 가시적으로 클라이언트에 전달하는 것이 가능하다.
DRF를 활용하여 프로젝트 리팩토링하기 (1)
회원가입은 email과 username이 이미 존재하는 지 확인하는 절차가 필요하다.만약 존재하는 회원이 없는 경우, 클라이언트에서 전달 받은 정보들에 대한 유효성 검사를 한다.유효성 검사도 모두 통
velog.io
if not serializer.is_valid():
raise ValidationError(serializer.errors)
=
serializer.is_valid(raise_exception=True)
https://stackoverflow.com/questions/40348981/django-rest-framework-raise-exception-true
django rest framework. raise_exception=True
I'm wondering, when should I use serializer.is_valid(raise_exception=True)? If I'm not implementing any custom validation, do I need to use the raise_exeption=True flag? What if my API doesn't raise
stackoverflow.com
강의에선 if serializer.is_valid() ... else ... 이렇게 쓰고 과제 해설에선 if serializer.is_valid(raise_exeption=True)를 썼는데 좋아 보인다고 다 갖다 쓰는게 좋은게 아니고 사소해보이는 것도 자세하게 제대로 알고 써야한다는걸 배웠다.
+ partial=True
# partial을 True로 설정할 경우 required field에 대한 validation을 수행하지 않는다.
# 주로 일부 필드를 update 할 때 사용된다.
user_serializer = UserSerializer(data=request.data, partial=True)
raise_exception=True 찾다가 발견. 나중에 쓸 일이 있으려나.
https://opentutorials.org/module/782/6083
링크 삽입 - 마크다운 (Markdown)
주소 삽입 링크 삽입은 총 3개의 방법이 있으며 상황별로 사용할 수 있습니다. 인라인 링크, 참조 링크, 함축적 링크 순으로 설명하겠습니다. 인라인 주소 삽입 [주소에 대한 설명](http://www.google.c
opentutorials.org
'TIL' 카테고리의 다른 글
TIL 053123 (0) | 2023.05.31 |
---|---|
TIL 053023 (0) | 2023.05.31 |
TIL 052623 (0) | 2023.05.27 |
TIL 052523 (0) | 2023.05.25 |
TIL 052423 (0) | 2023.05.25 |