首页 > 解决方案 > 如何迭代 API 响应并使其遍历范围/列表?

问题描述

我正在开发一个 django-rest-framework API。我的输入参数是日期和代表商店标识符的数字。API 响应包含与该特定商店在给定日期的销售额相关的一些指标。我想更改 API,以便仅将日期作为参数传递时,响应包含所有商店的指标。

我正在查询 VectorWise 数据库,因此是我的 SQL 查询的“状态”。我正在寻找通过循环重复此代码并为所有商店编号而不仅仅是一个商店编号复制的响应的方法。

我目前的代码是:

sql1 = "select num_store, sum(sales) as sales, sum(articles) as articles, sum(nb_clients) as nb_clients," \
       " sum(discount_rate) as discount_rate, sum(ind) as ind, sum(margin) as margin" \
       " from dtm.fai_vte_web_ray_jou where day = " + input_date_formatted + \
       " and num_ett = '" + store + "' GROUP BY num_ett "

sales = df1['sales'].loc[0]
articles = df1['articles'].loc[0]
nb_clients = df1['nb_clients'].loc[0]
discount = df1['discount '].loc[0]
ind = df1['ind'].loc[0]
margin = df1['margin'].loc[0]

还有一些其他的计算,然后创建响应:

response = {
    'store': store,
    'Indicators': {
        'dailyGrossTurnover': {
            'value': sales,
            'rank': rank,
            'prog': progression_percentage},
            'dailyItems': {
                'itemCount': nb_art_pass_caiss,
                'itemCountProg': nb_art_pass_caiss_prog
            },
            'dailyBasket': {
                'average': basket,
                'averageProg': prog_basket
            },
            'dailyDiscount': remise,
            'dailyMargin': {
                'currentYear': marginN,
                'previousYear': marginN1
            }
        }
    }
}
return Response(response)

我正在寻找方法来遍历商店编号的范围/列表并获得每个部分的响应。

标签: pythonloopsfor-loopiteration

解决方案


推荐阅读