我有一个查询集,通过执行:
chart_data = DetailChange.objects.extra(select={'day': 'date(captured_date)'})\
.values('item_id__store_id__store_name', 'day')\
.annotate(total_sale=Sum('amount_sold'))
我有这样一个查询集:
{'day': datetime.date(2019, 6, 24), 'item_id__store_id__store_name': 'Keyboard Pro', 'total_sale': 706.0}
{'day': datetime.date(2019, 6, 25), 'item_id__store_id__store_name': 'Keyboard Pro', 'total_sale': 18.0}
...
现在我要做的是得到一个字符串,它组合了其中的所有日期,用“,”分隔。比如:
"2019-6-24, 2019-6-25, 2019-6-26, ..."
有什么简单的方法可以完成吗?你知道吗
您可以加入格式化日期字符串的iterable,如:
因此,这里我们将格式化每个
day
对象,如下所示:然后我们把它们连接在一起,用逗号和空格隔开(
', '
)。你知道吗也就是说,如果您只对格式化日期感兴趣,那么首先添加额外的注释就没有多大意义了。你知道吗
您可以使用genexp和
str.join
以及,
作为分隔符:str(datetime.date)
即datetime.date.__str__
已经以%Y-%m-%d
格式返回日期,因此您不需要执行任何额外的strftime
工作。你知道吗OTOH,如果您只需要
day
字段,那么不应该在values
中包含item_id__store_id__store_name
。你知道吗相关问题 更多 >
编程相关推荐