인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

hwk님의 프로필 이미지
hwk

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

ModelViewSet과 ListCreateAPIView의 차이점이 무엇인가요?

해결된 질문

작성

·

432

0

강의를 보며 DRF 공부하고 있는데 ModelViewSet과 ListCreateAPIView이 어떤 차이점이 있는지 궁금합니다.
 
조회값(?)을 보니 두개 다 같은 것으로 확인되는데 어떠한 차이점이 있는건가요?

답변 1

2

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

ModelViewSet과 ListCreateAPIView 클래스의 상속 구조를 보시면 이해가 쉽게 되실 것입니다.

ModelViewSet이 ListCreateAPIView와 유사하지만, 상속받는 부모 클래스가 더 많습니다. List 응답은 동일하게 제공하지만, 그 외에 제공하는 기능이 더 많다는 뜻이지요.

---

ListCreateAPIView는 다음 주소에서 클래스 코드를 확인할 수 있는 데요. mixins.ListModelMixin, mixins.CreateModelMixin, GenericAPIView 클래스를 상속받고 있습니다. 그래서 리스트 요청과 생성 요청을 처리할 수 있습니다.

https://github.com/encode/django-rest-framework/blob/3.12.4/rest_framework/generics.py#L232

---

ModelViewSet은 다음 주소에서 클래스 코드를 확인하실 수 있는 데요. mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, mixins.ListModelMixin, GenericViewSet 클래스를 상속받고 있습니다. 생성 요청, Detail 조회 요청, 갱신 요청, 삭제 요청, 리스트 요청을 처리할 수 있습니다.

https://github.com/encode/django-rest-framework/blob/3.12.4/rest_framework/viewsets.py#L235

 

hwk님의 프로필 이미지
hwk
질문자

링크도 달아주시고ㅠㅠ 감사합니다!! 앞으로는 질문 전에 깃헙먼저 뜯어보고 올게요!!ㅠㅠㅠㅠ

hwk님의 프로필 이미지
hwk

작성한 질문수

질문하기