報錯原因:外鍵的刪除沒有設值。
解決辦法:一般使用方式設置on_delete爲null,
blog = models.ForeignKey(Blog,verbose_name='博客',on_delete=models.SET_NULL)
關於別的屬性的介紹
CASCADE
:這就是默認的選項,級聯刪除,你無需顯性指定它。PROTECT
: 保護模式,如果採用該選項,刪除的時候,會拋出ProtectedError
錯誤。SET_NULL
: 置空模式,刪除的時候,外鍵字段被設置爲空,前提就是blank=True, null=True
,定義該字段的時候,允許爲空。SET_DEFAULT
: 置默認值,刪除的時候,外鍵字段設置爲默認值,所以定義外鍵的時候注意加上一個默認值。SET()
: 自定義一個值,該值當然只能是對應的實體了