python – 设置django rest框架配置的DatetimeField格式

前端之家收集整理的这篇文章主要介绍了python – 设置django rest框架配置的DatetimeField格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试使用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",}

猜你在找的Python相关文章