将JSON转换为Django中的模型实例

时间:2012-07-14 21:15:51

标签: django json deserialization

在给定该模型实例的json表示的情况下,django更新模型实例的最佳方法是什么。

正在使用反序列化正确的方法吗?那里有教程吗?

1 个答案:

答案 0 :(得分:11)

最好的方法是使用支持将模型实例序列化为JSON的existing Django applications之一。

在任何一种情况下,如果您将JSON对象解析为Python字典,您基本上可以直接使用QuerySet.update()方法。

所以,假设你得到一个字典,其中所有的键都映射到模型属性,它们代表你想要更新的值,你可以这样做:

updates = {                                    # Our parsed JSON data
    'pk': 1337,
    'foo': 'bar', 
    'baz': 192.05
}

id = updates.pop('pk')                         # Extract the instance's ID
Foo.objects.filter(id=id).update(**updates)    # Update the instance's data