0

決定不支持Django中的單表繼承的基本原理是什麼?爲什麼Django不支持單表繼承?

STI是不好的設計?它會導致糟糕的表現嗎?它會和Django ORM發生衝突嗎?

只是想知道,因爲它已經是一個缺少的功能,像現在十年,所以必須有一個有意識的決定,它永遠不會被支持。

+0

不完全重複(它要求理由)http://stackoverflow.com/questions/241250/single-table-inheritance-in-django –

回答

0

一個原因可能是Django目前沒有能力在創建後修改數據庫表。

你可以'使用代理模型來做STI。這不會讓你在不同的模型上有不同的字段,但它可以讓你將不同的行爲(通過模型方法)附加到不同的子類中。

但是,如果您決定創建一個帶有額外字段的子類,Django將無法更新數據庫以反映這一點。