必要性は外部キーを追加する際に導入されたモデルクラス
on_delete = models.CASCADE
例:
以前のバージョン:
名前= models.ForeignKey(' 名前' ) を入力 = models.ForeignKey(' タイプ'、verbose_name = ' 类别')
で置換します:
名前= models.ForeignKey(' 名前'、on_delete = models.CASCADE) タイプ = models.ForeignKey(' タイプ'、on_delete = models.CASCADE、verbose_name =を' 类别')
そうでない場合は、エラー:
例外TypeError:__init __()1つの欠落必要な位置引数'on_delete'
on_delete効果:外部キーがあれば関連付けられている対応するデータテーブルが削除され、その後、モデルクラスのデータを対処
django2.Xバージョンの前に、on_delete(デフォルト=「CASCADE」 )、CASCADEがデフォルト値で、後に更新する必要があります手動設定。
総選挙はまだCASCADEが。
あるon_delete の6種類のオプションは、CASCADEに加えて、セット()、SET_NULL、そこPROTECT sET_DEFAULT、DO_NOTHINGは
詳細on_deleteプロパティ:
CASCADE(カスケード削除):テーブルに関連付けられているデータを削除する場合、外部キーフィールドも削除させていただきます
PROTECT(保護モードを):エラーがスローされたとき、このオプションが削除された場合ProtectedError
SET( ):エンティティに対応するカスタム値
SET_NULL(ブランキング):関連テーブル内のデータが空白の外部キーを削除するには、当然のことながら、キーフィールドに加えて、ヌル、ヌル= Trueにすることができました
set_default(セットデフォルト):デフォルト値に設定する外部キーフィールドなので、外部キーの際の注意に加えて、デフォルト値の定義時に削除さ
DO_NOTHINGが乾燥するものではありません。