如何在序列化器中更改DateTime模型字段表示?

时间:2015-06-19 08:30:43

标签: python django datetime django-models datetime-format

我想创建一个将在JSON中返回一些模型对象的视图。对于DateTimeField来说,一切都是正常的,它将原始值序列化,而不是模板中表示的。如何获得漂亮的价值而不是原始价值如下所示?

型号:

class Request(models.Model):
    created_at = models.DateTimeField(auto_now=True)

序列化:

serializers.serialize('json',
            list(Request.objects.filter(
                    id__gt=request.GET.get("last_id", 0)
                )[:MAX_REQUESTS])
        ),

预期:

  

2015年6月19日,上午8:24

结果:

  

2015-06-19T08:23:18.021Z

1 个答案:

答案 0 :(得分:0)

您可以使用ISO格式的DateTime字段返回JSON序列化数据,然后从您的javascript中,您可以根据需要解析和格式化日期。请参阅:Help parsing ISO 8601 date in Javascript

import json

json.dumps(your_requests, default=lambda obj: obj.isoformat() if hasattr(obj, 'isoformat') else obj)