7

そのモデルインスタンスのjson表現を指定して、djangoでモデルインスタンスを更新する最良の方法は何ですか.

逆シリアル化を使用するのは正しいアプローチですか? そこに利用可能なチュートリアルはありますか?

4

1 に答える 1

13

最善の方法は、JSON との間のモデル インスタンスのシリアル化をサポートする既存の Django アプリケーションの 1 つを利用することです。

どちらの場合でも、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 に答える