def post(self, request): serializer = self.serializer_class(data=request.data) if serializer.is_valid(): call = Call() call.save() try: call_start = serializer.save(call_id=call) except ValidationError as err: call.delete() return Response(data=err, status=status.HTTP_400_BAD_REQUEST) serializer = CallAfterStartSerializer({ 'call_id': call.pk, 'source': call_start.source, 'destination': call_start.destination, 'time': call_start.timestamp }) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)