def get_delete_update_puppy(request, pk): """ :param request: :param pk: :return: """ try: puppy = Puppy.objects.get(pk=pk) except Puppy.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) # get details of a single puppy if request.method == 'GET': # return Response({}) serializer = PuppySerializer(puppy) return Response(serializer.data) # delete a single puppy elif request.method == 'DELETE': # return Response({}) puppy.delete() return Response(status=status.HTTP_204_NO_CONTENT) # update details of a single puppy elif request.method == 'PUT': # return Response({}) serializer = PuppySerializer(puppy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_204_NO_CONTENT) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get_post_puppies(request): """ :param request: :return: """ # get all puppies if request.method == 'GET': # return Response({}) puppies = Puppy.objects.all() serializer = PuppySerializer(puppies, many=True) return Response(serializer.data) # insert a new record for a puppy elif request.method == 'POST': # return Response({}) data = { 'name': request.data.get('name'), 'age': int(request.data.get('age')), 'breed': request.data.get('breed'), 'color': request.data.get('color') } serializer = PuppySerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get_post_puppies(request): if request.method == 'GET': puppies = Puppy.objects.all() serializer = PuppySerializer(puppies, many=True) return Response(serializer.data) elif request.method == 'POST': data = { 'name': request.data.get('name'), 'age': request.data.get('age'), 'breed': request.data.get('breed'), 'color': request.data.get('color') } serializer = PuppySerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get_delete_update_puppy(request, pk): try: puppy = Puppy.objects.get(pk=pk) except Puppy.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': puppy = Puppy.objects.get(pk=pk) serializer = PuppySerializer(puppy) return Response(serializer.data) if request.method == 'PUT': serializer = PuppySerializer(puppy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_204_NO_CONTENT) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) if request.method == 'DELETE': puppy.delete() return Response(status=status.HTTP_204_NO_CONTENT)