7
djangoでモデルインスタンスのjson表現を指定してモデルインスタンスを更新するには、どのような方法が最適です。JSONをDjangoのモデルインスタンスに変換する
正しい方法でデシリアライズしていますか?チュートリアルはありますか?
djangoでモデルインスタンスのjson表現を指定してモデルインスタンスを更新するには、どのような方法が最適です。JSONをDjangoのモデルインスタンスに変換する
正しい方法でデシリアライズしていますか?チュートリアルはありますか?
最良の方法は、モデルインスタンスのシリアル化をサポートするexisting Django applicationsのいずれかを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
あなたは[このページを見てきましたDjangoのモデルのシリアル化](https://docs.djangoproject.com/ja/dev/topics/serialization/)? –
はい - でも問題はあります。私はサーバーに渡しているJSONオブジェクトは、モデルのすべてのデータを(ちょうどpkを含む)その一部を持っていません。そして、そのコードに基づいてモデルを更新したいと思います。 –