DRF:从外部网络请求序列化数据

时间:2019-08-01 15:06:55

标签: json django http django-rest-framework

我正在使用Django Rest Framework,并向外部网络请求模型中不需要的数据,而纯粹的序列化器。

我向外部请求从返回JSON的服务器获取一些数据。这是它的简要介绍。

{
    "request": [
        {
            "packages": {
                "gold": [
                    {
                        "name": "Gold Package 1",
                        "value": "Gold1"
                    },
                    {
                        "name": "Gold Package 2",
                        "value": "Gold2"
                    }
                ],
                "bronze": [
                    {
                        "name": "Bronze package 1",
                        "value": "Bronze1"
                    },
                    {
                        "name": "Bronze Package 2",
                        "value": "Bronze2"
                    }
                ]
            }
      ]
}

收到此请求后,我想返回此格式的数据。 如何实现?

"response": [{
            "details": {
                "legacy_packages": [{
                        "name": "Gold Package 1",
                    },
                    {
                        "name": "Gold Package 2",
                    }
                ]
            }
        },

1 个答案:

答案 0 :(得分:0)

您是否真的需要序列化器?看起来普通的代码就可以了。假设request变量是第一个字典:

response = {
    'response':  [{
        "details": {
            "legacy_packages": [
                {
                    "name": package['name'],
                }
                for package in request['request'][0]['packages']['gold']

            ]
        }
    }]
 }

如有必要,请引入中间变量,以使代码更加清晰和简洁。