0Pricing
Django Academy · Урок

Сериализаторы: из модели в JSON

Преобразуйте объекты в JSON и обратно

«Сериализаторы: из модели в JSON» — бесплатный урок Django Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

The Translator Layer

A serializer is DRF's translator: it converts your model instances into JSON to send out, and parses incoming JSON back into Python.

Why Not Just json.dumps?

Raw json.dumps cannot handle model objects or validation. A serializer understands fields, types, and rules, so it does the heavy lifting for you.

Meet ModelSerializer

The fastest start is ModelSerializer: point it at a model and it generates matching fields automatically, just like a ModelForm does.

from rest_framework import serializers

Declare One

You subclass ModelSerializer and use an inner Meta class to name the model and the fields you want exposed in the API.

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = ['id', 'title']

Choosing Fields

List fields explicitly or use fields = '__all__' to include them all. Being explicit is safer because it never leaks new columns by accident.

Serialize to JSON

Pass an instance to the serializer and read its .data attribute to get a ready-to-render Python dict of plain JSON-friendly values.

ser = BookSerializer(book)
ser.data  # {'id': 1, 'title': 'Dune'}

Many Objects at Once

To serialize a whole queryset, add many=True and DRF returns a list of dicts, one per object, in a single step.

BookSerializer(books, many=True).data

Deserialize Input

Going the other way, you pass data= with incoming JSON so the serializer can parse and later validate what a client sent.

ser = BookSerializer(data=request.data)

Validate It

Call is_valid() before trusting input. It runs every field's checks and fills validated_data, or populates errors you can return.

ser.is_valid()
ser.errors

Save Cleanly

Once valid, save() creates or updates the model instance, so a serializer handles both translation and persistence in one object.

ser.save()

Forms, but for APIs

Think of a serializer as a form for APIs: it renders data out, validates data in, and saves it, all without any HTML at all.

Quick Check

What does .data give you on a model serializer?

Recap: Serializers

You learned that a ModelSerializer turns models into JSON, validates incoming data, and saves it, acting as the bridge of your API. 🔁

Часто задаваемые вопросы

Урок «Сериализаторы: из модели в JSON» бесплатный?

Да — полный текст урока «Сериализаторы: из модели в JSON» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «Сериализаторы: из модели в JSON»?

Преобразуйте объекты в JSON и обратно Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Сериализаторы: из модели в JSON»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Установка и настройка DRF
  2. Сериализаторы: из модели в JSON
  3. APIView и функциональный @api_view
  4. Просматриваемый API и коды состояния
← Назад к Django Academy