Django休息框架DateField格式

时间:2018-01-25 13:59:11

标签: django django-models django-forms django-rest-framework django-views

我有drf模型,它包含DateField。该字段默认格式为" YYYY-MM-DD"只是我想转换" DD-MM-YYYY"怎么可能。

models.py

class Reminder(BaseModel):
    content = models.TextField()
    schedule_date = models.DateField()
    schedule_time = models.TimeField()
    is_release = models.BooleanField(default=True)

serializer.py

class ReminderSerializer(HyperlinkedModelSerializer):
    schedule_date = serializers.DateField(format="%d-%m-%Y")
    class Meta:
        model = Reminder
        fields = ('id','content','created_at','schedule_date','schedule_time','user_id','is_release','is_deleted',)
在serializer.py中的

我只是给出了格式,但该格式仅在List页面中收敛。正如您所看到的列表是okey但不转换POST操作字段。 API please look at image

1 个答案:

答案 0 :(得分:3)

您可以查看DRF's docs on this。基本上format只处理输出,但对于输入,您需要包含input_formats - 对于您的情况,您可以执行schedule_date = serializers.DateField(format="%d-%m-%Y", input_formats=['%d-%m-%Y', 'iso-8601'])

您是否想要将iso-8601保留在那里取决于您。