Serializers: del modelo a JSON
Convierta objetos a JSON y viceversa
Serializers: del modelo a JSON es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
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 serializersDeclare 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).dataDeserialize 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.errorsSave 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. 🔁
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Serializers: del modelo a JSON» es gratis?
Sí — el texto completo de «Serializers: del modelo a JSON» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Serializers: del modelo a JSON»?
Convierta objetos a JSON y viceversa Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Django Academy?
No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Serializers: del modelo a JSON»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Django Academy?
Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Instalación y configuración de DRF
- Serializers: del modelo a JSON
- APIView y @api_view de función
- La API navegable y los códigos de estado