def post(self, request, pk): try: r = Request.objects.get(pk=pk) except Request.DoesNotExist: return Response({'detail': "Request with id: {} does not exist".format(pk)}, status=400) comment_text = request.data.decode('utf-8') serializer = RequestSerializer( r, data={'comment': comment_text}, partial=True) if not serializer.is_valid(): return Response(serializer.errors, status=400) serializer.save() return Response(serializer.data)
def request_detail(request, reqid, format=None): try: req = Request.objects.get(id=reqid) except Request.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = RequestSerializer(req) return Response(serializer.data) elif request.method == 'PUT': serializer = RequestSerializer(request, data=request.data) if serializer.is_valid(): serializer.save() find_match_for_request(reqid) return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': req.delete() return Response(status=status.HTTP_204_NO_CONTENT)