def list(self, request): # 1、查询所有图书对象 books = BookInfo.objects.all() ser = BookSerializer(books, many=True) return Response(ser.data)
def get(self, request): # 1、查询所有图书对象 books = BookInfo.objects.all() ser = BookSerializer(books, many=True) return JsonResponse(ser.data, safe=False)
def get(self, request, pk): # 查询所有图书对象 book = BookInfo.objects.get(id=pk) ser = BookSerializer(book) ##查询单个 print(ser.data) return JsonResponse(ser.data, safe=False, json_dumps_params={'ensure_ascii': False})
def create(self, request): # 1、获取前端数据 # data = request.body.decode() # data_dict = json.loads(data) data = request.data # 2、验证数据 ser = BookSerializer(data=data) ser.is_valid() # 验证方法 # 3、保存数据 ser.save() # 4、返回结果 return Response(ser.data)
def put(self, request, pk): # 1、获取前端数据 data = request.body.decode() data_dict = json.loads(data) # 2、验证数据 try: book = BookInfo.objects.get(id=pk) except: return JsonResponse({'error': '错误信息'}, status=400) ser = BookSerializer(book, data=data_dict) ser.is_valid() # 3、更新数据 ser.save() # 4、返回结果 return JsonResponse(ser.data)
def post(self, request): # 1、获取前端数据 data = request.body.decode() data_dict = json.loads(data) # 2、验证数据 ser = BookSerializer(data=data_dict) # ser.is_valid(raise_exception=True) # 验证方法 ser.is_valid() # 验证方法 print(ser.validated_data) #验证正确后的数据 #print(ser.errors)# # 3、保存数据 ser.save() # 4、返回结果 return JsonResponse(ser.data)
def put(self, request, pk): # 1、获取前端数据 # data = request.body.decode() # data_dict = json.loads(data) data = request.data # 2、验证数据 try: book = self.get_object() # 从查询集中获取指定的单一数据对象 except: return JsonResponse({'error': '错误信息'}, status=400) ser = BookSerializer(book, data=data) ser.is_valid() # 3、更新数据 ser.save() # 4、返回结果 return Response(ser.data)
def get(self, request, pk): # 查询所有图书对象 book = BookInfo.objects.get(id=pk) ser = BookSerializer(book) ##查询单个 return Response(ser.data)
def retrieve(self, request, pk): book = BookInfo.objects.get(id=pk) ser = BookSerializer(book) return Response(ser.data)
def lastdata(self, request, pk): # http://127.0.0.1:8001/books_drf/1/lastdata #raise DatabaseError 测试数据库异常处理 book = BookInfo.objects.get(id=pk) ser = BookSerializer(book) return Response(ser.data)