为什么Django不支持单表继承?

2024-05-19 19:48:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django中不支持单表继承的决定背后的原因是什么?你知道吗

STI是个糟糕的设计吗?是否会导致性能不佳?它会不会和现在的Django ORM冲突?你知道吗

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


Tags: djangoorm原因性能sti单表
1条回答
网友
1楼 · 发布于 2024-05-19 19:48:07

一个原因可能是Django(目前)没有能力在创建数据库表之后修改它。你知道吗

你可以用代理模型做STI。这不允许您在不同的模型上有不同的字段,但允许您将不同的行为(通过模型方法)附加到不同的子类。你知道吗

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

相关问题 更多 >