0

我使用聚合和总和来确定我每个月工作的小时数。我有它的工作,但“小时”变量总是有额外的内容!

我应该补充一下,我是 django 的新手,我从这里获得了大部分代码(Django 初学者:如何在 django ORM 中查询以根据日期计算字段)。

我的代码:

hours = ""
work_data = ""
month_data = ""

for month in range(1,13):
  entries_per_month = Mydata.objects.filter(myTimePeriod__month=month).filter(myResource="James")
  hours = str(entries_per_month.aggregate(value=Sum('myHoursLogged')))
  month_data = month_data + "'" + str(month) + "',"
  work_data = work_data + hours + ","

我看一下work_data的结果:

work_data

这给了我一个结果{'value': Decimal('136.80')},{'value': Decimal('146.40')}

我需要它的格式:(136.80, 146.40 这是图表库所需的格式)。我试过用str()它来转换它,但在这种情况下它似乎不起作用。

4

1 回答 1

0

str在这里没有用,因为您的数据是字典列表。你只需要处理它并得到结果:

hours = ','.join(str(v['value']) for v in entries_per_month)
于 2013-04-10T12:30:16.937 回答