我的模型有一个JSON字段 extra_data ,其中包含可能添加到模型中的其他字段。从一开始就不知道除了强制字段之外还会添加多少个字段,这就是我引入 extra_data 字段的原因。
使用通常的休息框架序列化,我目前有类似的东西:
[
{
"code": "1",
"name": "Moscow",
"extra_data": {
"type": "Region"
}
},
{
"code": "2",
"name": "Tatarstan",
"extra_data": {
"type": "Republic",
"capital": "Kazan"
}
}
]
但我需要的东西是这样的:
[
{
"code": "1",
"name": "Moscow",
"type": "City"
},
{
"code": "2",
"name": "Tatarstan",
"type": "Republic",
"capital": "Kazan"
}
]
我需要帮助,我是django的新手
答案 0 :(得分:1)
序列化程序本身我不认为可以做到这一点,因为你不知道有多少字段。但是一旦你得到serializer.data,你可以更新你的dict,如:
serializer_data = serializer.data
extra_data = serializer_data.pop('extra_data')
serializer_data.update(extra_data)
return serializer_data
我不是Django的专家,所以我没有告诉你确定没有办法用序列化器做到这一点,但没有我能想到的