0

在所有模型继承中哪个更好用,为什么?我对此一无所知,所以我想知道哪个更好或更有用,以便我知道我将在该特定场景中使用哪个。

  • 抽象基类
  • 多表继承
  • 代理模型
4

1 回答 1

1

这些技术中的每一种都提供不同的好处。这真的取决于你需要做什么。

最好的起点是阅读模型继承文档

抽象基类

如果您只是想减少编写的代码量,请使用这些。如果您知道多个模型中出现多个字段,则编写一个基类并继承它。

多表继承

如果您想要一个可以查询和操作的具体基类,这很有用 - 例如Base.objects.all()有点像在同一个查询集中看到Child1.objects.all()和。Child2.objects.all()

代理模型

如果每个模型的所有字段都相同,则使用代理模型。您为每个对象获得一个 db 元组,但该 db 元组可用于表示父级或代理。这是非常强大的,如果您的字段相同,几乎可以肯定要走的路。

于 2013-02-09T11:08:30.050 回答