如何设置Django Rest Framework DateField的输出格式

时间:2019-06-25 21:55:31

标签: django-rest-framework datefield

我有以下非常简单的序列化器:

from rest_framework import serializers

class EmailSendSerializer(serializers.Serializer):
    date = serializers.DateField(format='%B')

我对文档https://www.django-rest-framework.org/api-guide/fields/#datefield的理解 是序列化程序返回的经过验证的日期应为月份的全名(由%B指定),但我得到的是正常的日期对象。

我可以找到很多SO引用来更改日期字段的input_format,但是没有任何内容引用输出日期。

例如,输入日期= {str}'2020-12-25'的序列化程序,我希望得到“ December”的结果,但我得到{date} 2020-12-25。

如何正确使用format参数返回所需的日期格式?

谢谢

1 个答案:

答案 0 :(得分:0)

似乎格式化的数据将被保存为serializer.data属性的属性。

因此使用上面定义的序列化器:

data = {"date":"2020-12-25"}
serializer = EmailSendSerializer(data=data)
serializer.is_valid() # True
print(s.data.date) # December
print(s.validated_data.date) # "2020-12-25"