def put(self, request, pk): pk = ObjectId(pk) employee = self.get_object(pk) serializer = EmployeeSerializer(employee, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_202_ACCEPTED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, pk=None): if pk: employee = self.get_object(pk) serializer = EmployeeSerializer(employee) else: employee = Employee.objects.all().select_related( 'type').prefetch_related('product') serializer = EmployeeSerializer(employee, many=True) return Response(serializer.data, status=status.HTTP_200_OK)
def get(self, request, pk=None): if pk: pk = ObjectId(pk) employee = self.get_object(pk) serializer = EmployeeSerializer(employee) else: employee = Employee.objects.all() serializer = EmployeeSerializer(employee, many=True) return Response(serializer.data, status=status.HTTP_200_OK)
def post(self, request): serializer = EmployeeSerializer(data=request.data) if serializer.is_valid(): #save the new record serializer.save() #show the newly created record return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, pk=None): if request.data.__contains__('product'): if isinstance(request.data['product'], str) and len( request.data['product']): product_list = (request.data['product']).split(",") request.data.setlist('product', product_list) if not len(request.data['product']): request.data.pop('product') if request.data.__contains__('type'): if isinstance(request.data['type'], str) and not len(request.data['type']): request.data['type'] = None serializer = EmployeeSerializer(data=request.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 put(self, request, employee_id): # get the model which needs to be updated in a form model = EmployeeDetail.get_an_employee(employee_id) if model is None: return Response( "Employee with id:{} Does not exist".format(employee_id), status=status.HTTP_404_NOT_FOUND) # if model is valid, then updation is possible serializer = EmployeeSerializer(model, data=request.data) if serializer.is_valid(): #save the new record serializer.save() #show the newly created record return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk): if not request.POST._mutable: request.POST._mutable = True employee = self.get_object(pk) if request.data.__contains__('product'): if isinstance(request.data['product'], str) and len( request.data['product']): product_list = (request.data['product']).split(",") request.data.setlist('product', product_list) if not len(request.data['product']): request.data.pop('product') if request.data.__contains__('type'): if isinstance(request.data['type'], str) and not len(request.data['type']): request.data['type'] = None serializer = EmployeeSerializer(employee, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_202_ACCEPTED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, employee_id): # search for the employee_id in the database model = EmployeeDetail.get_an_employee(employee_id) if model is None: return Response( "Employee with id:{} Does not exist".format(employee_id), status=status.HTTP_404_NOT_FOUND) #serialize the data, meaning covert the database object in understandable format by python serializer = EmployeeSerializer(model) return Response(serializer.data, status=status.HTTP_200_OK)
def get(self, request): #return all the employees in 'serialized' form model = Employee.objects.all() serializer = EmployeeSerializer(model, many=True) return Response(serializer.data)
def post(self, request, pk=None): serializer = EmployeeSerializer(data=request.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)