Djangoでフォームを介さずにインスタンスを複製する方法
- アーティスト: O.S.T.
- 出版社/メーカー: Universal
- 発売日: 2017/04/07
- メディア: CD
- この商品を含むブログを見る
どんなにときにつかえるか
例えばブログ機能アプリで、以前つくった記事を複製して再利用するときに利用できます。
フォームインスタンスをつくって、そこに生成したインスタンスを入れ込むForm(~~~, instance=instance)
、そしてセーブすると、単に呼び出したインスタンスがアップデートされるだけ。
これで本文などのフィールドの値が同じで新しいPKのインスタンスが複製されるのです。便利^^v
blog = Blog(name='My blog', tagline='Blogging is easy') blog.save() # blog.pk == 1 blog.pk = None blog.save() # blog.pk == 2
↑下記公式ドキュメントより引用↑
.pk = None
とするだけ^^