ModelSerializer автоматически создаёт поля и стандартные методы на основе указанной модели.
Что такое сериализатор в DRF? Как создать ModelSerializer?
Подробный ответ
Что делает сериализатор
Сериализатор в Django REST Framework преобразует экземпляры моделей и QuerySet в данные, которые можно вернуть в JSON-ответе. При обработке входящего запроса он также проверяет данные и может создать или обновить объект модели.
Что такое ModelSerializer
ModelSerializer — удобный класс DRF для сериализации Django-моделей. Он позволяет не описывать вручную каждое поле: достаточно указать модель и список полей в классе Meta.
from rest_framework import serializers
from .models import Article
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ['id', 'title', 'text', 'is_published', 'created_at']Как использовать для проверки данных
serializer = ArticleSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
article = serializer.save()Что можно настраивать
В сериализаторе можно задавать поля только для чтения, собственные правила валидации, вложенные сериализаторы и вычисляемые поля. Но для базового CRUD обычно достаточно ModelSerializer.
Как ответить на собеседовании
Сериализатор DRF преобразует объекты моделей в данные для JSON и валидирует входящие данные. Для модели я обычно создаю ModelSerializer, указываю модель и нужные поля в классе Meta.
Оцени свой прогресс