DRF Django:如何在保存前修改值


class Pet(models.Model):
date_of_birth = models.DateField()
class PetSerializer(serializers.ModelSerializer):
class Meta:
model = Pet
fields = "__all__"

现在当我尝试做

curl -X POST -H "Content-Type: application/json" 
-d '{
"date_of_birth":"2021-08-29T00:46:27.103Z"
}' http://localhost:8025/api/dob/

{"date_of_birth":["Date has wrong format. Use one of these formats instead: YYYY-MM-DD."]}

如何管理这个,因为我只会得到2021-08-29T00:46:27.103Z格式的输入

input_formats添加到日期字段:

class PetSerializer(serializers.ModelSerializer):
date_of_birth = serializers.DateField(input_formats=['%Y-%m-%dT%H:%M:%S.%fZ'])
class Meta:
model = Pet
fields = ('date_of_birth', ...)

Docs in https://www.django-rest-framework.org/api-guide/fields/#datefield

最新更新