给定模型实例的 json 表示,在 django 中更新模型实例的最佳方法是什么。
使用反序列化是正确的方法吗?那里有可用的教程吗?
最好的方法是利用现有的 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