我使用聚合和总和来确定我每个月工作的小时数。我有它工作,但“小时”变量总是有额外的内容!
我应该补充一下,我是django的新手,我从这里获得了大部分代码(Django beginner: How to query in django ORM to calculate fields based on dates)。
我的代码:
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()
进行转换,但在这种情况下似乎无效。
答案 0 :(得分:0)
str
在这里没用,因为您的数据是字典列表。你只需要处理它并获得结果:
hours = ','.join(str(v['value']) for v in entries_per_month)