def post(self, request, format=None): """ Method used to create a new DynamicTag object. The object data is provided in a serialized format. @param request: HttpRequest used to provide tag data. @type request: HttpRequest @param format: The format used for object serialization. @type format: string @return: HttpResponse containing the id of the new DynamicTag object, error otherwise. @rtype: HttpResponse """ serializer = DynamicTagSerializer(data=request.data) if serializer.is_valid(): serializer.save() logger.debug('Created new DynamicTag object') return Response(serializer.data, status=status.HTTP_201_CREATED) logger.error('Error on creating a new DynamicTag object') return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk, format=None): """ Method used to update a DynamicTag object data, providing all fresh data in a serialized form. @param request: HttpRequest containing the updated DynamicTag field data. @type request: HttpRequest @param pk: DynamicTag primary key, used to retrieve object data. @type pk: int @param format: Format used for data serialization. @type format: string @return: HttpResponse @rtype: HttpResponse """ with edit_lock: tag = self.get_object(pk) serializer = DynamicTagSerializer(tag, data=request.data, partial=True) if serializer.is_valid(): serializer.save() logger.debug('Updated data for DynamicTag object with id ' + str(pk)) return Response(serializer.data) logger.error('Error on update of DynamicTag object with id ' + str(pk)) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)