序列化Django rest fram中的复杂字段

2024-06-28 19:18:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型,它有一个JSON字段extra_data,其中包含可能添加到模型中的其他字段。从一开始,我们不知道除了必选的字段外,还会添加多少字段,这就是为什么我引入了extra_data字段。在

对于通常的rest框架序列化,我目前有如下内容:

 [
    {
        "code": "1",
        "name": "Moscow",
        "extra_data": {
            "type": "Region"
        }
    },
    {
        "code": "2",
        "name": "Tatarstan",
        "extra_data": {
            "type": "Republic",
            "capital": "Kazan"

        }
    }
]

但我需要的是:

^{pr2}$

拜托,我需要帮助,我是django新手


Tags: name模型框架restjson内容data序列化
1条回答
网友
1楼 · 发布于 2024-06-28 19:18:21

我认为序列化程序本身无法做到这一点,因为您不知道有多少字段。但是一旦你得到序列化程序.data,您可以更新您的dict,如下所示:

serializer_data = serializer.data
extra_data = serializer_data.pop('extra_data')
serializer_data.update(extra_data)
return serializer_data

我不是Django方面的专家,所以我不能肯定地告诉您,使用序列化程序是没有办法做到这一点的,但是我想不出任何办法

相关问题 更多 >