1
在Django的生產權的約束,我有一個模型:的Django上刪除級聯沒有在PostgreSQL中
class HmmInsectValue(models.Model):
hmm = models.ForeignKey('HmmResult', on_delete=models.CASCADE)
...
一個PostgreSQL數據庫(9.3.2)這就產生了一個約束:
FOREIGN KEY (hmm_id) REFERENCES devdash_hmmresult(id) DEFERRABLE INITIALLY DEFERRED
而我真正想要的是:
FOREIGN KEY (hmm_id) REFERENCES devdash_hmmresult(id) ON DELETE CASCADE
這打破了我的代碼,因爲當我嘗試刪除HmmResult
條目,它抱怨它仍然是從HmmInsectValue
引用的。如果我用上面的線手動替換它,它一切正常。
任何想法爲什麼會發生這種情況?