Django:在JSON Serializer中格式化DateTimeField字段

时间:2014-02-03 18:12:40

标签: python json django

我有一个具有一些DateTimeFields和TimeFields的模型,我使用以下命令将它们序列化为JSON:

json.dumps({'items': list(items.values('id','date_time','time'))},cls=DjangoJSONEncoder)

但是项目列表将date_time字段显示为date_time“:”2013-12-25T17:00:00“。

如何为date_time或任何获得JSON序列化的DateTimeField / TimeField / DateField强加我自己的格式?

由于

2 个答案:

答案 0 :(得分:2)

您可以使用strftime预处理items中需要您自己格式的字段。可能是这样的:

now = datetime.now()
desired_format = '%Y-%m-%dT%H-%M'
item['date_time']= now.strftime(desired_format)

答案 1 :(得分:1)

您可以编写自己的json编码器,查看DjangoJSONEncoder。您可以使用isoformat而不是strftime