我在尝试在常规 django 视图中的较大 json 响应中包含美味派资源时遇到了问题。我想让视图返回类似这样的内容(基于视图中生成的查询集,而不是来自典型的美味派获取参数):
{
"success": bool,
"message": string,
"error": string,
"objects": [
{
"field_one": bar,
"field_two": foo
}
... more objects ...
]
}
其中对象列表是序列化的美味资源列表,成功、消息和错误来自视图中的其他位置。
现在,我无法弄清楚如何避免在构建更大的字典之前将序列化的资源转换为字符串,所以我目前有这样的东西:
{
"success": bool,
"message": string,
"error": string,
"objects": [
"{"field_one": bar, "field_two": foo..."}",
"{"field_one": baz, "field_two": foobar..."}",
...
]
}
这样做的重点是保持模型 json 表示的一致性,以尽量减少直接使用 sweetpie api 和使用这些视图中返回的数据之间的摩擦。我认为解决方案是以某种方式在每个资源上使用 full_dehydrate 方法而不序列化它们,然后将它们添加到更大的字典中,然后序列化该字典,但我不确定要使用什么序列化程序。或者,也许有更好的方法。