【发布时间】:2011-07-07 16:42:34
【问题描述】:
我有一个具有以下模型的 django 应用程序:
Object A 是一个从 Model 扩展而来的简单对象,有几个字段,比方说,一个特定的对象是一个名为 "NAME" 的 char 字段和一个 Integer 字段称为“订单”。 A 是抽象的,表示数据库中没有 A 对象,而是...
对象 B 和 C 是 A 的特化,这意味着它们继承自 A 并添加了其他一些字段。
现在假设我需要字段 NAME 以字母 "Z" 开头的所有对象,按 ORDER 字段排序,但我也希望这些对象的所有 B 和 C 特定字段。现在我看到了两种方法:
a) 分别对 B 和 C 对象进行查询,并获取两个列表,合并它们,手动排序并使用它。
b) 查询 A 对象以查找以 "Z" 开头并按 "ORDER" 排序的名称,结果查询 B 和 C 对象带来所有剩余的数据。
这两种方法听起来效率很低,第一种方法我必须自己订购,第二种方法我必须多次查询数据库。
我是否缺少一种神奇的方式来获取所有 B 和 C 对象,以一种方法排序?或者至少比上述两种方法更有效?
提前致谢!
布鲁诺
【问题讨论】:
-
欢迎使用 Django 模型继承。享受(!)您的住宿。
标签: python django inheritance model