- 1

Creación de APIs con Django REST Framework
01:38 - 2

APIs y JSON: Comunicación entre Servidores y Aplicaciones Web
09:42 - 3

Creación de APIs con Django REST Framework
09:48 - 4

Django REST: Funcionalidades y Ventajas al Crear APIs
02:54 - 5

Modelos y Serializadores en Django para DoctorApp
14:13 - 6

Uso de Serializadores en Vistas con Django REST Framework
05:50 - 7

Creación y modificación de pacientes en API REST con Django
19:08 - 8

CRUD de Recursos con Django REST Framework
06:06 - 9

Pruebas de APIs con Postman y Curl
05:48 - 10

Refactorización de Vistas: De Funciones a Clases en Django REST
17:01 - 11

Vistas Genéricas en Django: Detalle, Actualización y Eliminación
04:19 - 12

Documentación de APIs con DRF Spectacular y Swagger en Django
10:38
Serializadores Anidados en Django: Implementación y Uso Práctico
Clase 17 de 21 • Curso de Django Rest Framework
Contenido del curso
Los serializadores anidados permiten incluir datos de otros modelos directamente en un serializador, lo que resulta útil al necesitar información relacionada en un solo response. En esta clase, aplicamos esta técnica para incluir una lista de citas médicas dentro del recurso de pacientes en la aplicación DoctorApp. Esto mejora la eficiencia en el manejo de relaciones entre modelos, y facilita cambios futuros en la estructura de los response de la API.
¿Cómo implementar un serializador anidado en Django?
- Crea un nuevo campo dentro del serializador principal.
- Importa el serializador del modelo que deseas anidar.
- Define el campo con el serializador importado y marca como
Read Onlysi es necesario. - Asegúrate de incluir el nuevo campo en la lista de
fieldsdel serializador para que se refleje en el response.
¿Cómo anidar citas dentro del serializador de pacientes?
Para incluir las citas médicas de un paciente, sigue estos pasos:
- Abre el serializador de pacientes.
- Agrega un nuevo campo llamado
appointmentsque usará elAppointmentsSerializer. - Importa el serializador de citas médicas desde su respectivo módulo (
Bookings.Serializers). - Configura el campo con
many=Trueyread_only=True, ya que es una lista de citas que solo puede ser visualizada. - Verifica que el campo se ha agregado correctamente al incluirlo en la lista de campos del serializador.
¿Cómo validar la implementación?
- Ejecuta el servidor de desarrollo con
manage.py runserver. - Accede al recurso
Patientsen la API y revisa si aparece el campoappointments. - En caso de que falte algún campo, como el
ID, asegúrate de incluirlo en el serializador.
¿Cómo crear y visualizar citas en la consola?
Para crear una cita desde la consola de comandos:
- Abre la consola con
manage.py shell. - Importa los modelos relevantes (Paciente, Doctor, Appointment).
- Define variables para el paciente y el doctor.
- Crea una nueva cita usando el manager de appointments.
- Recarga la página para verificar que el array de citas ya contiene información en formato JSON.
¿Cómo usar serializadores anidados para otros modelos?
El uso de serializadores anidados no se limita a las citas de los pacientes. Puedes replicar este mismo enfoque para otros recursos. Por ejemplo, podrías crear un serializador para listar las citas asociadas a un doctor, proporcionando una mayor flexibilidad a la API y haciendo que las relaciones entre modelos sean más visibles y accesibles.