2014-02-21 57 views
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引用的。如果我用上面的線手動替換它,它一切正常。

任何想法爲什麼會發生這種情況?

回答