我有以下非常简单的序列化器:
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参数返回所需的日期格式?
谢谢
答案 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"