Vistas Genéricas en Django: Detalle, Actualización y Eliminación
Clase 11 de 21 • Curso de Django Rest Framework
Resumen
Hemos visto cómo utilizar vistas genéricas en Django para crear vistas de detalle, simplificando el código y evitando la duplicación. A través de la clase RetrieveUpdateDestroyAPIView
, podemos obtener, modificar o eliminar recursos de manera eficiente, reduciendo la cantidad de código a manejar.
¿Cómo evitar la duplicación de código con vistas genéricas?
- Django permite usar vistas genéricas como
RetrieveAPIView
,UpdateAPIView
yDestroyAPIView
. - Sin embargo, es más eficiente usar la clase combinada
RetrieveUpdateDestroyAPIView
, que integra estas tres funcionalidades. - Con esta clase podemos obtener, actualizar o eliminar un recurso sin necesidad de importar múltiples vistas.
¿Cómo funciona el refactor a las vistas genéricas?
- El código que antes obtenía el objeto y devolvía un error 404 si no se encontraba, ahora es reemplazado por una vista genérica que maneja esa lógica automáticamente.
- Al definir la vista genérica
RetrieveUpdateDestroyAPIView
, simplemente necesitamos definir las variables correspondientes, como el modelo y los permisos, y se manejan todas las operaciones CRUD (create, read, update, delete). - Esto nos permite reducir significativamente el código y mantener la funcionalidad.
¿Cómo realizar validaciones con las vistas genéricas?
- Django continúa manejando validaciones, como las que se generan al enviar datos incorrectos, por ejemplo, una fecha inválida.
- Estas validaciones son útiles en formularios de frontend, ya que permiten mostrar al usuario por qué una solicitud ha fallado.
¿Qué sigue después de implementar vistas genéricas?
- El siguiente paso es usar view sets, que nos permitirán agrupar las vistas de una manera más eficiente y evitar la repetición de código.
- Aunque se ha logrado simplificar el código con las vistas genéricas, los view sets llevarán esta simplificación un paso más allá, agrupando operaciones similares en un solo conjunto.