【发布时间】:2019-03-16 12:48:02
【问题描述】:
我正在通过以下方式序列化模型的实例。
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'
【问题讨论】:
-
来自the docs:Django 对象本身可以被检查为
deserialized_object.object。如果模型上不存在序列化数据中的字段,则将引发DeserializationError,除非ignorenonexistent参数作为 True 传入
标签: python django django-serializer