如何设置 django rest framework datefield 的输出格式

How do I set the output format for 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 是由序列化程序 return 验证的日期应该是月份的全名(由 %B 指定),但我得到一个正常的日期对象。

我可以找到很多关于更改日期字段 input_format 的 SO 参考,但没有任何内容涉及输出日期。

例如,对于 date= {str} '2020-12-25' 的序列化程序输入,我希望得到 "December" 的结果,但我得到的是 {date} 2020-12-25。

如何正确使用格式参数来return我想要的日期格式?

谢谢

格式化数据似乎将保存为 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"