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

Что такое ModelViewSet

ModelViewSet — это класс в Django REST Framework, объединяющий логику нескольких представлений для работы с моделями. Он предоставляет CRUD-операции (Create, Read, Update, Delete) из коробки, используя миксины:

  • CreateModelMixin (POST)
  • RetrieveModelMixin (GET по id)
  • UpdateModelMixin (PUT/PATCH)
  • DestroyModelMixin (DELETE)
  • ListModelMixin (GET список)

Пример:

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

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

Плюсы:

  • Минимизация кода для стандартных операций.
  • Автоматическая маршрутизация через DefaultRouter.

Ограничения:

  • Менее гибкий, чем отдельные APIView, если нужна кастомизация.
  • Избыточен для простых эндпоинтов (например, только чтение).

Для нестандартных действий можно добавить @action(detail=True/False).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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