Generic API View

data_hamster·2023년 4월 29일
0

학습주제
시리얼라이저와 뷰 Generic API View

학습내용
더욱 간단하게 구현해보고자 한다.

class QuestionList(generics.ListCreateAPIView):
	queryset = Question.objects.all()
    serializer_class = QuestionSeirializer

이렇게만 정의 해주주면 상속받은 generics에서 처리해준다.
QuestionDetail도 마찬가지로

class QuestionDetail(generics.RetrieveUpdateDestroyAPIView):
	queryset = Question.objects.all()
    serializer_class = QuestionSerializer

로 구성하였다. 비교를 위해 정의되었던 메소드들을 주석처리한다.

보면 Delete 버튼까지 잘 구현되어 있다.

그 이유는 generics.RetrieveUpdateDestroyAPIView)'에 이미 다 구형이 되어 있기 때문이다. 윈도우 기준 Ctrl을 누르고 RetrieveUpdateDestroyAPIView를 누르면, 이 클래스가 어떻게 구현되어 있는지 나온다.

아까 우리가 썼었던 mixins를 그대로 가져다 쓰고 있는 것을 확인할 수 있다. 추가로 약간의 업데이트인 patch도 구현되어 있다.

generics.ListCreateAPIView도 들어가보면, 미리 get과 post 메소드를 mixins를 상속받아 구현해놨다.


안쓰는 모듈은 음영처리가 되어 있다. 지워준다.

모듈이 이해가 안가면 들어가서 계속 봐야겠다.

profile
반갑습니다 햄스터 좋아합니다

0개의 댓글