如何在django rest框架中格式化时间';什么是序列化程序?
这是我的序列化程序代码:如何在django rest框架中格式化时间';什么是序列化程序?,django,serialization,django-rest-framework,Django,Serialization,Django Rest Framework,这是我的序列化程序代码: 序列化程序.py class StartListSerializer(serializers.Serializer): id = serializer.CharField() time = serializers.DateField(fromat=None, input_formats=None) 它会给我这个: “时间”:“2014-03-14T22:44:16.923000” 输入时间格式为datetime.datetime(2014,3,14,
序列化程序.py
class StartListSerializer(serializers.Serializer):
id = serializer.CharField()
time = serializers.DateField(fromat=None, input_formats=None)
它会给我这个:“时间”:“2014-03-14T22:44:16.923000”
输入时间格式为
datetime.datetime(2014,3,14,22,44,37280000)
但是我想要这样的时间
2014-03-14 22:44:37
如何更改序列化程序以获得此时间?通常的Python日期时间格式将起作用:
# for DateField
date = serializers.DateField(format="%Y-%m-%d")
# for DateTimeField
time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
在测试接受的答案后,我得到以下错误: AssertionError:应为
日期
,但得到了日期时间
。拒绝强制,因为这可能意味着丢失时区信息。使用自定义只读字段并显式处理时区问题
使用序列化器字段作为datetime
解决了这个问题
class StartListSerializer(serializers.Serializer):
# ...
time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
你能帮忙吗?这个答案给出了DateTime字段的错误。选中下面的@FlipYM answer。在最新版本中,格式可能已更改。我有
序列化程序.DateField(format='YYYY-MM-DD')
。