본문 바로가기

TIL

TIL 052923

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된 에러를 가시적으로 클라이언트에 전달하는 것이 가능하다.

https://velog.io/@tiiranocode/DRF%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%98%EC%97%AC-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81%ED%95%98%EA%B8%B0

 

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