
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Django の外部キー on_deleteの引数 DO_NOTHING は「何もしない」のか…!? - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Django の外部キー on_deleteの引数 DO_NOTHING は「何もしない」のか…!? - Qiita
モデルに外部キーを設定するときに、 on_delete=models.DO_NOTHING とした時の挙動について、発見があっ... モデルに外部キーを設定するときに、 on_delete=models.DO_NOTHING とした時の挙動について、発見があったので共有します。 外部キー on_delete のおさらい モデルA がモデルBの外部キー持つ場合に、モデルBを削除しようとする時に、Aの振る舞いを決める 指定する挙動は、大きく次の3タイプに分かれる ①PROTECT Aが存在する時、Bは削除できない ②CASCADE Aが存在する時、Bを削除可能で、Aも同時に消える ③SET_NULL / SET_DEFAULT Aが存在する時、Bを削除可能で、Bの外部キーの値に代わりにNull やデフォルト値を入れる DO_NOTHING は、上記のように明示的に指定したくない場合に使えると思っていた。 強いて言えば、Aが存在していても、Bを削除出来る ③ に近い挙動を取ると思っていた。 ところが、実際の挙動は ①とほぼ同じ