首页 > 解决方案 > 如何在 django 中的两个日期之间创建每月数组?

问题描述

我有一个具有以下输入的模型:

monthly income: 100
start date: 31/03/2020 (created with DateField)
end date: 24/7/2020 (created with DateField)

我想获得以下查询集:

[0, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0]

那是12个月和各自的收入金额。

标签: pythondjangopython-3.xdjango-modelsdjango-views

解决方案


简单,使用 lambda 和 map

f = lambda m:income if m in range(start.month, end.month+1) else 0
months = [m for m in range(1,13)]
result = list(map(f, months)]

推荐阅读