7

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

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

4

1 回答 1

13

最好的方法是利用现有的 Django 应用程序之一,该应用程序支持将模型实例序列化到 JSON 和从 JSON 序列化。

无论哪种情况,如果将 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
于 2012-07-14T21:48:29.047 回答