DRF viewset의 차이점
by GUSAND
DRF공부 하다가 viewset.ViewSet을 상속받을때와 viewset.ModelViewSet을 상속받을때 차이가 궁금했다.
그래서 바로 챗지티피를 활용
Q : viewsets.ViewSet 과 viewsets.ModelViewSet의 차이점은?
A : viewsets.ViewSet과 viewsets.ModelViewSet은 Django REST framework에서 제공하는 뷰셋(ViewSet) 클래스의 서브 클래스(subclass)입니다. 이 두 클래스 간에는 주요한 차이점이 존재합니다.
viewsets.ViewSet:은 Django의 모델과 밀접하게 연결된 RESTful API 뷰셋을 제공합니다. 이 클래스는 Django의 모델과 직접적으로 연결되어 있으며, 데이터베이스 모델에 기반한 기본적인 CRUD 작업을 처리하기 위한 기능을 제공합니다. 모델과 관련된 목록 조회(list), 개별 객체 조회(retrieve), 객체 생성(create), 객체 업데이트(update), 부분적인 객체 업데이트(partial_update), 객체 삭제(destroy) 등의 기능을 자동으로 지원합니다.
viewsets.ModelViewSet: viewsets.ModelViewSet은 Django의 모델과 밀접하게 연결된 RESTful API 뷰셋을 제공합니다. 이 클래스는 Django의 모델과 직접적으로 연결되어 있으며, 데이터베이스 모델에 기반한 기본적인 CRUD 작업을 처리하기 위한 기능을 제공합니다. 모델과 관련된 목록 조회(list), 개별 객체 조회(retrieve), 객체 생성(create), 객체 업데이트(update), 부분적인 객체 업데이트(partial_update), 객체 삭제(destroy) 등의 기능을 자동으로 지원합니다.
따라서, viewsets.ModelViewSet을 사용하면 데이터베이스 모델과 직접적으로 연결되어 있는 뷰셋을 빠르게 구현할 수 있습니다. 반면에, viewsets.ViewSet을 사용하면 데이터베이스 모델에 직접적으로 연결되지 않는 커스텀 로직이나 특정 기능을 가진 API를 구현할 수 있습니다.
Leave a Comment: