Django:在嵌套数据结构中序列化模型?

时间:2010-05-03 21:54:29

标签: database django serialization django-models

在迭代中序列化模型很容易:

def _toJSON(models):
    return serializers.serialize("json", models, ensure_ascii=False)

当我有更复杂的事情时:

[
(Model_A_1, [Model_B_1, Model_B_2, Model_B_3]),
(Model_A_2, [Model_B_3, Model_B_4, Model_B_5, Model_B_59]),
(Model_A_3, [Model_B_6, Model_B_7]),
]

我尝试将每个模型序列化,因为它已添加到结构中,然后用simplejson.dumps序列化整个模型,但这会导致定义每个模型的JSON被转义。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我不确定我的提案是否是“更好的方法”,但在某些需要自定义json格式的情况下,它对我有用。

这个想法是创建一些django模板,它将以你需要的格式创建json(可能是几个for循环)。这个带有模型结构的模板+ conext应该给你正在寻找的json。

当然,这里有一些需要提及的缺点。在python中反序列化这样的json会很痛苦,它可能不会像其他解决方案那样快,也可能不是其他解决方案。但如果这对您来说不是问题,我认为这个解决方案非常方便,可以帮助您推进项目。