def put(self, request, bucket_id, item_id, format=None): """ Update a single bucket item :param bucket_id: :param item_id: :return: serialized data of the item """ bucketlistitem = self.get_bucket_item(bucket_id, item_id) serializer = BucketlistItemSerializer(bucketlistitem, request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, id, item_id, format=None): bucketlist = self.check_bucketlistexist(id=id) item = self.check_itemexist(item_id=item_id) update_item_value = request.data keyid = {unicode('bucketlist'): unicode(id)} update_item_value.update(keyid) itemserializer = BucketlistItemSerializer(item, data=update_item_value) if itemserializer.is_valid(): itemserializer.save() return Response(itemserializer.data, status=status.HTTP_201_CREATED) return Response(itemserializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, bucket_id, format=None): """ Create a single item for a bucketlist :param bucket_id: --- parameters: - name: name description: name of item to be created in the bucketlist required: true type: string paramType: form """ bucket = BucketListDetailView.get_bucket_object(bucket_id) serializer = BucketlistItemSerializer(data=request.data) if serializer.is_valid(): serializer.save(bucketlist=bucket) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)