示例#1
0
 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)
示例#2
0
 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)
示例#3
0
 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})
示例#4
0
    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)
示例#5
0
    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})