python - 在 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。" ]
谁能指导我正确的方向?我错过了什么?非常感谢您的回复
解决方案
根据文档,DATE_INPUT_FORMATS
必须是一个列表:
REST_FRAMEWORK = {
"DATE_INPUT_FORMATS": ["%d-%m-%Y"],
...
}