def retrieve(self, request, *args, **kwargs): try: instance = self.get_object() serializer = self.get_serializer(instance) respuesta = Estructura.success('', serializer.data) return Response(respuesta) except Exception as e: respuesta = Estructura.error('No se encontraron registros') return Response(respuesta, status=status.HTTP_404_NOT_FOUND)
def create(self, request, *args, **kwargs): if request.method == 'POST': try: serializer = self.serializer_class( data=request.data, context={'request': request}) if serializer.is_valid(): serializer.save(album_id=request.data['album_id']) respuesta = Estructura.success( 'La cancion ha sido creado exitosamente.', serializer.data) return Response(respuesta, status=status.HTTP_201_CREATED) else: respuesta = Estructura.error(serializer.errors) return Response(respuesta, status=status.HTTP_400_BAD_REQUEST) except Exception as e: respuesta = Estructura.error500() return Response(respuesta, status=status.HTTP_400_BAD_REQUEST)
def update(self, request, *args, **kwargs): if request.method == 'PUT': try: partial = kwargs.pop('partial', False) instance = self.get_object() serializer = self.serializer_class( instance, data=request.data, context={'request': request}, partial=partial) if serializer.is_valid(): serializer.save() respuesta = Estructura.success( 'La cancion ha sido actualizado exitosamente.', serializer.data) return Response(respuesta, status=status.HTTP_201_CREATED) else: respuesta = Estructura.error(serializer.errors) return Response(respuesta, status=status.HTTP_400_BAD_REQUEST) except Exception as e: respuesta = Estructura.error500() return Response(respuesta, status=status.HTTP_400_BAD_REQUEST)