Что такое сериализатор (serializer) в Django

Python Middle Без компании
Что такое сериализатор (serializer) в Django
Ответы
Сериализатор в Django — это инструмент для преобразования сложных типов данных (например, моделей Django или QuerySet) в Python-примитивы (например, словари или списки), которые затем можно легко преобразовать в JSON, XML или другие форматы. Также он выполняет обратную операцию — десериализацию (валидацию и преобразование входящих данных в Python-объекты). Основные функции: - Валидация данных перед сохранением. - Преобразование объектов в JSON и обратно. - Упрощение работы с API (например, в DRF — Django REST Framework). Пример с DRF: ``` from rest_framework import serializers from .models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = ['id', 'title', 'author'] # Сериализация: book = Book.objects.get(id=1) serializer = BookSerializer(book) json_data = serializer.data # {'id': 1, 'title': 'Django for Beginners', 'author': 'William S.'} # Десериализация: data = {'title': 'New Book', 'author': 'John Doe'} serializer = BookSerializer(data=data) if serializer.is_valid(): book = serializer.save() ```