0

决定在 Django 中不支持单表继承的原因是什么?

STI 是一个糟糕的设计吗?是否会导致性能不佳?它会与原来的 Django ORM 冲突吗?

只是想知道,因为它已经丢失了大约十年,所以一定是有意识地做出了永远不会支持的决定。

4

1 回答 1

0

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

您可以使用代理模型“有点”做 STI。这将不允许您在不同的模型上拥有不同的字段,但它允许您将不同的行为(通过模型方法)附加到不同的子类。

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

于 2013-07-04T00:51:14.410 回答