使用 djangorestframework-jsonapi 反序列化

问题描述 投票:0回答:1

我正在尝试使用 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 的使用足以知道该怎么做。我的意思是正确的映射,因为属性开始和结束是停车类型的属性。

我错过了什么?

django-rest-framework json-deserialization json-api
1个回答
0
投票
{
   "id": "1234",
   "start": "2024-01-18",
   "end": "2024-01-20"
}

根据你的序列化程序,它应该是这样的。

© www.soinside.com 2019 - 2024. All rights reserved.