def get(self, request, *args, **kwargs): book_id = kwargs.get('id') if book_id: book_obj = Book.objects.filter(pk=book_id, is_delete=False) if book_obj: book_data = BookModelSerializer(book_obj[0]).data return Response( { 'status': 200, 'message': '查询单个图书成功', 'results': book_data }, status=200) else: return Response({ 'status': 400, 'message': '查询失败', }, status=400) else: book_obj_all = Book.objects.filter(is_delete=False) book_data = BookModelSerializer(book_obj_all, many=True).data return Response( { 'status': 200, 'message': '查询所有成功', 'results': book_data }, status=200)
def get(self, request, *args, **kwargs): book_id = kwargs.get("id") if book_id: book = Book.objects.get(pk=book_id) data = BookModelSerializer(book).data return Response({ "status": 200, "message": "查询单个图书成功", "results": data, }) else: book_objects_all = Book.objects.all() book_ser = BookModelSerializer(book_objects_all, many=True).data return Response({ "status": 200, "message": "查询单个图书成功", "results": book_ser, })
def post(self, request): serializer = BookModelSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def put(self, request, *args, **kwargs): # 获得更新的图书的id book_id = kwargs.get('id') # 获取要修改的数据 book_data = request.data print(book_data) if book_id: book_obj = Book.objects.filter(pk=book_id, is_delete=False)[0] if not book_obj: return Response({ "status": 400, "message": '图书不存在' }, status=400) # 使用反序列器进行更新 serializer = BookModelDeSerializer(data=book_data, instance=book_obj) serializer.is_valid(raise_exception=True) obj = serializer.save() return Response( { 'status': 200, 'message': '更新成功', "results": BookModelSerializer(obj).data }, status=200) else: return Response({"status": 400, "message": '无id'}, status=400)
def get(self, request, *args, **kwargs): book_id = kwargs.get('id') if book_id: book_obj = Book.objects.get(pk=book_id) serializer = BookModelSerializer(book_obj).data return Response({ 'status': 200, 'message': '查询单个对象成功', 'results': serializer, }) else: all_obj = Book.objects.all() all_serializer = BookModelSerializer(all_obj, many=True).data return Response({ 'status': 200, 'message': '查询所有对象成功', 'results': all_serializer, })
def get(self,request,*args,**kwargs): book_id = kwargs.get('id') if book_id: book = Book.objects.filter(id=book_id,is_delete=False)[0] serialize = BookModelSerializer(book).data # print(serialize) return Response({ 'status':200, "message":"查询一个书籍", "result":serialize, }) else: books = Book.objects.filter(is_delete=False) serialize = BookModelSerializer(books,many=True).data return Response({ 'status': 200, "message": "查询所有书籍", "result": serialize, })
def post(self, request, *args, **kwargs): request_data = request.data serializer = BookDeModelSerializer(data=request_data) serializer.is_valid(raise_exception=True) book_obj = serializer.save() return Response({ "status": 200, "message": "添加图书成功", "results": BookModelSerializer(book_obj).data, })
def get(self, request, *args, **kwargs): book_id = kwargs.get("id") if book_id: book_obj = Book.objects.get(pk=book_id) book_data = BookModelSerializer(book_obj).data return Response({ "status": status.HTTP_200_OK, "message": "查询单个图书成功", # "results":book_obj "results": book_data }) else: book_list = Book.objects.filter(is_delete=False) book_list_data = BookModelSerializer(book_list, many=True).data return Response({ "status": status.HTTP_200_OK, "message": "查询所有图书成功", # "results": book_list "results": book_list_data })
def post(self, request, *args, **kwargs): request_data = request.data print(request_data) serializer = BookDeModelSerializer(data=request_data) #要加data=,否则报错 serializer.is_valid(raise_exception=True) #直接将异常抛出来 book_obj = serializer.save() #原来是手动抛异常,现在直接加个参数就行了 #if serializer.is_valid()... #raise.... return Response({ "status": 200, "message": "添加图书成功", "result": BookModelSerializer(book_obj).data, })
def patch(self, request, *args, **kwargs): ''' 更新单个 id kwargs.get('id') 更新多个 [{},{},{}] :param request: :param args: :param kwargs: :return: ''' book_id = kwargs.get('id') request_data = request.data # 修改单个 if book_id and isinstance(request_data, dict): ids = [book_id] request_data = [request_data] elif not book_id and isinstance(request_data, list): ids = [] for i in request_data: id = i.pop('id', None) if id: ids.append(id) else: return Response({'status': 400, "message": "id不存在"}) else: return Response({"status": 400, "message": "格式错误"}) books_obj = [] new_data = [] for index, id in enumerate(ids): print(index, id) try: book_obj = Book.objects.get(id) print(book_obj) books_obj.append(book_obj) new_data.append(request_data[index]) except: continue serializer = BookModelSerializer(data=new_data, instance=books_obj, partial=True, many=True) serializer.is_valid(raise_exception=True) datas = serializer.save() return Response({ "status": 200, "message": "成功", "result": BookModelSerializer(datas).data })
def post(self, request, *args, **kwargs): request_data = request.data print(request_data) if isinstance(request_data, dict): many = False elif isinstance(request_data, list): many = True else: return Response({"status": 400, "message": "添加失败"}) serialize = BookModelSerializer(data=request_data, many=many) serialize.is_valid(raise_exception=True) book = serialize.save() return Response({ 'status': 200, "message": "添加书籍", "result": BookModelSerializer(book, many=many).data, })
def post(self, request, *args, **kwargs): book_data = request.data if isinstance(book_data, dict) and book_data != {}: many = False elif isinstance(book_data, list) and book_data != []: many = True else: return Response({ 'status': 400, 'message': '参数格式有误', }, status=400) book_ser = BookModelDeSerializer(data=book_data, many=many) book_ser.is_valid(raise_exception=True) book_obj = book_ser.save() return Response( { 'status': 200, 'message': '新增成功', 'results': BookModelSerializer(book_obj, many=many).data }, status=200)
def put(self, request, *args, **kwargs): # 获取到修改的值 request_data = request.data # 获取到被修改的对象 book_id = kwargs.get('id') try: book_obj = Book.objects.get(id=book_id) except: return Response({"status": 400, "message": "对象不存在"}) serializer = BookModelSerializer(data=request_data, instance=book_obj, partial=True) serializer.is_valid(raise_exception=True) book = serializer.save() return Response({ "status": 200, "message": "修改成功", "result": BookModelSerializer(book).data })
def post(self, request, *args, **kwargs): request_data = request.data if isinstance(request_data, dict): many = False elif isinstance(request_data, list): many = True else: return Response({ 'status': 400, 'message': '参数有误', }) print(request_data) serializer = BookModelSerializer(data=request_data, many=many) serializer.is_valid(raise_exception=True) book_obj = serializer.save() return Response({ 'status': 200, 'message': '新增成功', 'results': BookModelSerializer(book_obj, many=many).data })
def get(self, request): top_three = Book.objects.order_by('price')[:3] serializer = BookModelSerializer(top_three, many=True) return Response(serializer.data)
def get(self, request, book_id): book = self.get_object(book_id) serializer = BookModelSerializer(book) return Response(serializer.data)