1
我有兩個模型,如IntegrityError當刪除模型實例
class A(models.Model):
title = models.CharField(max_length=255)
class B(models.Model):
recommendation = models.ForeignKey(A, related_name="+")
title = models.CharField(max_length=255)
當我刪除了一個模型的實例,我得到的是這樣的:
IntegrityError: update or delete on table "myapp_a" violates foreign key constraint "myapp_relate_recommendation_id_4a7c5340_fk_myapp_a_id" on table "myapp_b"
Detail: Key (id)=(27527) is still referenced from table "myapp_b".
我想不通爲什麼它會發生,我認爲FK應該被默認刪除。
嗯,我已經試過了,它沒有工作。我認爲models.CASCADE是默認行爲。 –
你使用的是什麼版本的Django?我剛剛使用Django 2.0測試了我上面發佈的解決方案,它工作正常。實際上,'makemigrations'只會在我爲ForeignKey字段添加一個'on_delete'參數的情況下運行;否則,遷移會引發錯誤。我已經使用控制檯的輸出更新了我的回覆。 – Sam