Что такое ViewSet

Python Middle Без компании
Что такое ViewSet
Ответы
ViewSet в Django REST framework — это класс, объединяющий логику для нескольких связанных представлений (views) в одном классе. Он предоставляет стандартные операции CRUD (Create, Read, Update, Delete) через методы `list()`, `retrieve()`, `create()`, `update()`, `partial_update()` и `destroy()`. Пример: ``` from rest_framework import viewsets from .models import Book from .serializers import BookSerializer class BookViewSet(viewsets.ModelViewSet): queryset = Book.objects.all() serializer_class = BookSerializer ``` **Ключевые особенности:** - Автоматически генерирует URL-маршруты через `Router`. - Поддерживает `ModelViewSet` (полный CRUD), `ReadOnlyModelViewSet` (только чтение) и кастомные ViewSet. - Упрощает код, избегая дублирования. **Использование с Router:** ``` from rest_framework.routers import DefaultRouter router = DefaultRouter() router.register(r'books', BookViewSet) urlpatterns = router.urls ```