Встречается на собеседованиях • сегодня

В Django REST Framework, классы ViewSets, ModelViewSets и GenericViewSets что делают

ViewSets, ModelViewSets и GenericViewSets в DRF — это абстракции для упрощения работы с API.

ViewSet — базовый класс, объединяющий логику для нескольких связанных представлений (list, create, retrieve и т.д.).

GenericViewSet — наследует от ViewSet и добавляет методы get_object(), get_queryset(), но не реализует действия (list, create).

ModelViewSet — наследует от GenericViewSet и включает все CRUD операции (list, create, retrieve, update, destroy).

Пример:

python
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

Этот код автоматически создаст все CRUD эндпоинты для модели Book.

Выбор зависит от потребностей:

  • ViewSet — для кастомной логики.
  • GenericViewSet — если нужны базовые методы, но действия свои.
  • ModelViewSet — для стандартного CRUD.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы