class MonitoredKeywordMore(APIView):
    
    def post(self, request):
        try:
            # 设置原生命令并且请求数据
            parents_asin = str(request.data.get("parentsasin"))
            hour=str(request.data.get("hour"))
            # 执行原生mysql命令查询
            raw_monitored_more = MonitoredMore(hour, parents_asin)
            obj_rawqueryset = models.MonitoredGoods.objects.raw(raw_monitored_more)

            # 对请求数据进行序列化
            json_data = {}
            dict = {}

            for obj in obj_rawqueryset:

                if not dict.get(obj.single_keyWord):  # 如果字典没有这个 关键词(key)

                    dict[obj.single_keyWord] = []  # 就以这个关键词 为key 创建一个空的数组(用于添加以这个关键词为key的rank信息) {'shoes': []}

                    # 创建一个字典添加这个关键词对应的所有排行
                    item = {}
                    item["heat"] = obj.heat
                    item["ranking"] = obj.ranking
                    item["position"] = obj.position

                    # 把这个关键词对对应的所有需要数据  做成一个字典放在组数里面
                    dict[obj.single_keyWord].append(item)
                else:
                    item = {}
                    item["heat"] = obj.heat
                    item["ranking"] = obj.ranking
                    item["position"] = obj.position
                    dict.get(obj.single_keyWord).append(item)

            json_data['code'] = 200
            return Response(dict)


        except Exception as e:

            dict_error={}
            msg = traceback.format_exc()
            print(msg)
            logging_main.keyword_error.error(msg)
            dict_error['message'] = "请求异常"
            dict_error['code'] = 10004
            return JsonResponse(dict_error)

 

版权声明:本文为wanghong1994原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wanghong1994/p/12572086.html