0

决定不支持Django中的单表继承的基本原理是什么?为什么Django不支持单表继承?

STI是不好的设计?它会导致糟糕的表现吗?它会和Django ORM发生冲突吗?

只是想知道,因为它已经是一个缺少的功能,像现在十年,所以必须有一个有意识的决定,它永远不会被支持。

+0

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

回答

0

一个原因可能是Django目前没有能力在创建后修改数据库表。

你可以'使用代理模型来做STI。这不会让你在不同的模型上有不同的字段,但它可以让你将不同的行为(通过模型方法)附加到不同的子类中。

但是,如果您决定创建一个带有额外字段的子类,Django将无法更新数据库以反映这一点。