2017-02-05 6 views
2

フィールドをカスケードから「非カスケード」に移行しようとすると無視されます(Django 1.10)。Djangoモデル - キャンセルする方法on_delete = models.CASCADE

前モデル:

class Run(models.Model): 
    ... 
    analysis_retention = models.ForeignKey('analysis_retention.AnalysisRetention', 
              null=True, default=None, on_delete=models.CASCADE) 

新しいモデル:

class Run(models.Model): 
    ... 
    analysis_retention = models.ForeignKey('analysis_retention.AnalysisRetention', 
              null=True, default=None) 

"manage.py makemigrationsは、" 変更を検出しません。 明示的ななしの試行は役に立たない。

カスケードを削除するにはどうすればよいですか?

おかげ

答えて

2

CASCADEon_delete引数のデフォルト値であり、sourceを参照してください。したがって、on_delete=models.CASCADEを削除しても効果はありません。勤務

analysis_retention = models.ForeignKey('analysis_retention.AnalysisRetention', 
             null=True, default=None, on_delete=models.SET_NULL) 
+1

:あなたは、コード内でon_delete値を指定する必要があります。ありがとうございました。 – user3139774

関連する問題