我正在尝试使用 djangorestframework-jsonapi 反序列化 JSON:API 负载。
有效负载:
{
"data": {
"id": "1234",
"type": "parking",
"attributes": {
"start": "2024-01-18",
"end": "2024-01-20"
}
}
}
(反)序列化器:
from rest_framework_json_api import serializers
class ParkingDeserializer(serializers.Serializer):
id = serializers.CharField()
start = serializers.DateField()
end = serializers.DateField()
反序列化时出现以下错误:
>>> from parking import ParkingDeserializer
>>> dsrz = ParkingDeserializer(data=payload['data'])
>>> dsrz.is_valid()
False
>>> dsrz.errors
{'start': [ErrorDetail(string='This field is required.', code='required')], 'end': [ErrorDetail(string='This field is required.', code='required')]}
我认为 JSON:API 标准和 djangorestframework-jsonapi 的使用足以知道该怎么做。我的意思是正确的映射,因为属性开始和结束是停车类型的属性。
我错过了什么?
{
"id": "1234",
"start": "2024-01-18",
"end": "2024-01-20"
}
根据你的序列化程序,它应该是这样的。