Django モデルインスタンスオブジェクトを複製してデータベースに保存するにはどうすればよいですか? 質問する

Django モデルインスタンスオブジェクトを複製してデータベースに保存するにはどうすればよいですか? 質問する
Foo.objects.get(pk="foo")
<Foo: test>

データベースに、上記のオブジェクトのコピーである別のオブジェクトを追加したいと思います。

テーブルに 1 つの行があるとします。最初の行のオブジェクトを、別の主キーを持つ別の行に挿入したいとします。どうすればよいでしょうか?

ベストアンサー1

オブジェクトの主キーを変更して save() を実行するだけです。

obj = Foo.objects.get(pk=<some_existing_pk>)
obj.pk = None
obj.save()

自動生成されたキーが必要な場合は、新しいキーを「なし」に設定します。

UPDATE/INSERTの詳細ここ

モデルインスタンスのコピーに関する公式ドキュメント:https://docs.djangoproject.com/en/2.2/topics/db/queries/#モデルインスタンスのコピー

おすすめ記事