def get(self, request): page_data, page_obj = self.get_query_set_page_data() # 获取分页之后的数据 data_list = [] for instance in page_data: # model_dict = model_to_dict(instance, self.fields, self.exclude_fields) # 转成字典 data_list.append(model_dict) return NbResponse(data=data_list, count=page_obj.count)
def get(self, request): page_data, page_obj = self.get_query_set_page_data() # 获取分页之后的数据 data_list = [] for instance in page_data: # model_dict = model_to_dict(instance, self.fields, self.exclude_fields) # 转成字典 model_dict['user'] = instance.user.username model_dict['project_name'] = instance.project.name model_dict['project_id'] = instance.project.id data_list.append(model_dict) return NbResponse(data=data_list, count=page_obj.count)
def get(self,request): if self.get_filter_data(): case_sets = self.get_filter_data() elif self.get_search_data(): case_sets = self.get_search_data() else: case_sets = models.Case.objects.filter(is_delete=False) #查询所有的 page_data,paginator = self.get_paginator(case_sets) data = [] for c in page_data: d = model_to_dict(c) data.append(d) response = {'code': 0, 'msg': '成功', 'data': data,'count':paginator.count} return JsonResponse(response, json_dumps_params={'ensure_ascii': False})
def get(self, request): filter_dict = self.get_filter_dic() search_obj = self.get_search_obj() query_set = self.model.objects.filter(**filter_dict).filter(search_obj) page_data, count = self.get_paginator(query_set) data = [] for c in page_data: d = model_to_dict(c, exclude=self.exclude, fields=self.field) # 把查出来的每条数据转成字典 d['category_name'] = c.category.name d['category_id'] = c.category.id d.pop('category') data.append(d) return NbResponse(data=data, count=count)
def get(self,request): page = request.GET.get('page',1) limit = request.GET.get('limit',20) #1、模糊查询,哪写字段支持模糊查询 name、desc search = request.GET.get('search') #2、某些字段来过滤,id、name http://127.0.0.1:8000/case?id=1&name=abc&search=xxx filter_field = ['id','name','is_delete'] # #{id:1,name:2} filter_dic = {} #过滤的条件 for field in filter_field: value = request.GET.get(field) if value: filter_dic[field] = value search_field = ['name','desc'] q = Q() if search: for field in search_field: #Q(name__contains=search) d = {'%s__contains'%field : search } q = Q(**d)|q # {'desc__contains':小黑} #/case_set_new 1、全部 2、只传search 3、只查询条件 4、 查询条件和模糊查询都传了 # case_sets = models.CaseSet.objects.filter(**filter_dic).filter(q) paginator = Paginator(case_sets,limit) data = [] for c in paginator.page(page): d = model_to_dict(c) #把查出来的每条数据转成字典 data.append(d) response = {'code': 0, 'msg': '成功', 'data': data,'count':paginator.count} return JsonResponse(response, json_dumps_params={'ensure_ascii': False})