我尝试使用DRF序列化程序来序列化模型对象.我发现对象中的DatetimeField不会输出ISO-8601格式的“2015-10-21T09:28:53.769000Z”
我查找DRF文档为什么我无法输出ISO-8601格式.根据datetimefield说:
format
– A string representing the output format. If not specified,this defaults to the same value as the DATETIME_FORMAT settings key,which will be ‘iso-8601’ unless set. Setting to a format string indicates that to_representation return values should be coerced to string output. Format strings are described below. Setting this value to None indicates that Python
这意味着如果我从未设置DATETIME_FORMAT参数,则默认输出iso-8601格式?还没有,它仍然没有变化.
当我尝试编写django项目的设置如下:
REST_FRAMEWORK = { 'DATETIME_FORMAT': "iso-8601",}
或者我在DatetimeField参数中写入如下:
class UserSerializer(...): last_login = DatetimeField(format='iso-8601') class Meta: model = User fields = ('email','displayname','is_active','date_joined','last_login')
它仍然没有变化.
有谁知道怎么设置它?
解决方法
如果你不知道发生了什么,你仍然没有解决这个问题,我可以在设置中定义一个datettime格式如下:
REST_FRAMEWORK = { 'DATETIME_FORMAT': "%Y-%m-%dT%H:%M:%S.%fZ",}