首页 > 解决方案 > 在 django rest 框架中以 dd-mm-YYYY 格式发布日期

问题描述

我在 settings.py 文件中设置了我的 Date_INPUT_FORMATS = "%d-%m-%Y" 。以下是我的设置文件 -

    REST_FRAMEWORK = {
    'DATE_INPUT_FORMATS': "%d-%m-%Y",
    'DATE_FORMAT': "%d-%m-%Y",
    'DATETIME_FORMAT': "%d-%m-%Y %H:%M:%S",
}

我有一个加入日期的模型如下:

class Employee(models.Model):
    joiningDate = models.DateField()
    name = models.CharField(max_length=50)

我的序列化器:

class EmployeeSerializer(serializers.ModelSerializer):
    class Meta:
        model = Employee
        fields = ['joiningDate', 'name']

视图集:

class EmployeeViewSet(ModelViewSet):
    queryset = models.Employee.objects.all()
    serializer_class = serializers.EmployeeSerializer

这是我要发布的 json:

{
    "joiningDate":"31-03-2020",
    "name":"EMpname",

我认为我已正确设置它,但在发布时出现以下错误:

"joiningDate": [ "日期格式错误。请改用以下格式之一:%、d、-、%、m、-、%、Y。" ]

谁能指导我正确的方向?我错过了什么?非常感谢您的回复

标签: pythondjangodjango-modelsdjango-rest-framework

解决方案


根据文档DATE_INPUT_FORMATS必须是一个列表:

REST_FRAMEWORK = {
    "DATE_INPUT_FORMATS": ["%d-%m-%Y"],
    ...
}

推荐阅读