Djang中序列化后如何建立对象

2024-03-29 15:29:26 发布

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

我按以下方式序列化模型的实例。你知道吗

serialized_object = serializers.serialize ('json', [track,])

输出

   [{"model": "blog.track", "pk": null, "fields": {"album": null, "name": "Song 1", "lyrics": "", "song": "Z.mp3", "url_download": null, "length": "00:00:12"}}]

然后保存序列化对象,以便在某些任务结束时将其保存到数据库中。我的问题是如何从序列化模型重新构建模型的实例。如何在视图中获取序列化模型的字段?你知道吗

再研究一点,阅读可以反序列化并以这种方式保存的Django文档

for obj in serializers.deserialize("json", serialized_object):
    print(obj.name)
    obj.save ()

然而,我想获得该对象的值,但当尝试它时,出现以下错误

AttributeError: 'DeserializedObject' object has no attribute 'name'

Tags: 对象实例name模型jsonobjmodel序列化
0条回答
网友
1楼 · 发布于 2024-03-29 15:29:26

如果您使用的是django rest框架,那么就不需要转换回object。您可以使用前面提到的序列化程序类上的createupdate方法here在db中创建或更新

网友
2楼 · 发布于 2024-03-29 15:29:26

出现此错误是因为文档指示对象包装在反序列化的对象中,因此进行以下更改。你知道吗

print (obj.object.name)

相关问题 更多 >