我想创建一个查询集的dict列表,其中实例中有一个日期时间字段。然后,我想序列化它并用JSON发送它。
我正在使用此代码:
from django.core.serializers.json import DjangoJSONEncoder
objectList = Layers.objects.filter(geom_type="Polygon")
values = objectList.values('id', 'name', 'geom_type', 'date_created')
data = list(values) # becomes list of dictionaries
jsonData = json.dumps(data, cls=DjangoJSONEncoder)
return HttpResponse(jsonData, content_type="application/json")
这样做很好,但我想知道是否可以选择日期时间字段格式为yyyy-mm-dd-hh-mm-ss
而不是2014-12-09T16:05:12.132Z
答案 0 :(得分:1)
您是否尝试过使用DATETIME_FORMAT设置? https://docs.djangoproject.com/en/dev/ref/settings/
DATETIME_FORMAT = "Y-m-d-h-i-s"
答案 1 :(得分:1)
这样的事情怎么样......
data = [[x.id, x.name, x.geom_type, x.date_created.strftime("%Y-%m-%d-%H-%M-%S")]
for x in objectList]
或者,如果您使用的是DATETIME_FORMAT设置,则可以执行
data = [[x.id, x.name, x.geom_type, '%s' % x.date_created]
for x in objectList]