Зачем нужен ViewSet

Python Middle Без компании
Зачем нужен ViewSet
Ответы
ViewSet в Django REST Framework (DRF) объединяет логику для нескольких связанных представлений в одном классе. Он упрощает создание API, автоматизируя стандартные CRUD-операции и маршрутизацию. **Преимущества:** - Сокращает код, заменяя несколько View на один ViewSet. - Автоматически генерирует URL через роутеры (`SimpleRouter`, `DefaultRouter`). - Гибкость: можно переопределять методы (`list`, `create`, `retrieve` и т.д.). **Пример:** ``` from rest_framework import viewsets class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer ``` **Роутер:** ``` from rest_framework.routers import DefaultRouter router = DefaultRouter() router.register(r'users', UserViewSet) urlpatterns = router.urls ``` Итог: `/users/` (GET/POST), `/users/{id}/` (GET/PUT/DELETE) и другие эндпоинты создаются автоматически.