改正代码'int' object has no attribute 'append' if order_date_str not in year_region_data: year_region_data[order_date_str] = {"sales": 0, "quantity": 0, "profit": 0,"region":[]} year_region_data[order_date_str]["sales"].append(order["sales"]) year_region_data[order_date_str]["quantity"] += order["quantity"] year_region_data[order_date_str]["profit"] += order["profit"] year_region_data[order_date_str]["region"].append(order["region"]) for year, year_region_data in year_region_data.items(): data['order_date'].append(year_region_data) data['sales'].append(year_region_data["sales"]) data['quantity'].append(year_region_data["quantity"]) data['profit'].append(year_region_data["profit"]) data['region'].append(year_region_data["region"]) return JsonResponse(data)
时间: 2023-08-20 16:37:49 浏览: 76
可以尝试将 year_region_data[order_date_str]["sales"] 的值初始化为一个空列表,然后再将 order["sales"] 添加到列表中,即可解决该问题。修改后的代码如下:
```
if order_date_str not in year_region_data:
year_region_data[order_date_str] = {"sales": [], "quantity": 0, "profit": 0,"region":[]}
year_region_data[order_date_str]["sales"].append(order["sales"])
year_region_data[order_date_str]["quantity"] += order["quantity"]
year_region_data[order_date_str]["profit"] += order["profit"]
year_region_data[order_date_str]["region"].append(order["region"])
for year, year_region_data in year_region_data.items():
data['order_date'].append(year_region_data)
data['sales'].append(sum(year_region_data["sales"]))
data['quantity'].append(year_region_data["quantity"])
data['profit'].append(year_region_data["profit"])
data['region'].append(year_region_data["region"])
return JsonResponse(data)
```
注意,这里还将 sales 的值改为了一个空列表,因此在计算 sales 的总和时,需要使用 sum() 函数来计算。
阅读全文