簡體   English   中英

Django 模型 - 如何取消 on_delete=models.CASCADE

[英]Django models - how to cancel on_delete=models.CASCADE

試圖將字段從級聯遷移到“非級聯”似乎被忽略了(Django 1.10)。

以前的型號:

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”沒有檢測到變化。 嘗試明確的 None 無濟於事。

消除級聯的方法是什么?

謝謝

CASCADEon_delete參數的默認值,請參閱源代碼 所以刪除on_delete=models.CASCADE不會有效果。 您需要在代碼中指定on_delete值:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM