【发布时间】:2014-03-11 19:27:22
【问题描述】:
我正在使用 Django REST 框架,并且在单个响应中想要返回一个数组对象以及一个“合并”对象。 “合并”对象将在运行时通过将每个项目的属性值相加来填充。
此响应数据说明了我在寻找什么。
{
"foods": [
{
"name": "Apple",
"calories": 116,
"sugars": 23.2
},
{
"name": "Orange",
"calories": 62,
"sugars": 12.2
}
],
"consolodated": {
"calories": 178,
"sugars": 35.4
}
}
返回“foods”数组很简单,但我不知道如何在运行时创建“合并”对象。由于我没有序列化模型,因此该动态对象创建是否应该位于视图中?如果是这样,我应该采取什么方法来迭代现有值以创建新对象?提前致谢。
【问题讨论】:
-
您是否研究过
pre_save()方法?你可以序列化你的食物对象然后在pre_save()设置serializer.data[consolidated] = {"calories": 178,"sugars": 35.4} -
谢谢,但现在我正在运行时创建“合并”。如果我想在将来存储它,我会考虑使用 pre_save()
标签: python django django-rest-framework