当前位置: 首页 > 面试题库 >

Django中的单表继承

高峻
2023-03-14
问题内容

Django中对单表继承有显式支持吗?最后我听说,该功能仍在开发和辩论中。

在此期间是否可以使用库/黑客来捕获基本行为?我有一个混合了不同对象的层次结构。具有Employee类,雇员类型的子类和manager_id(parent_id)的公司结构的规范示例将很好地逼近我正在解决的问题。

就我而言,我想代表一个想法,即一个员工可以在由另一个员工管理的同时管理其他员工。没有用于Manager和Worker的单独的类,这使得很难在表之间进行分配。子类代表员工,程序员,会计师,销售人员等的类型,并且独立于谁来监督谁(好吧,我认为它在某些方面不再是典型的公司)。


问题答案:

关系数据库不支持继承,因此在从对象到数据库的映射时,我们必须考虑如何在关系表中表示漂亮的继承结构。当映射到关系数据库时,我们尝试最小化在多个表中处理继承结构时可以快速建立的联接。单表继承将继承结构的所有类的所有字段映射到单个表中。

即,用于实体类的整个层次结构的单个数据库表。Django不支持这种继承。



 类似资料:
  • 问题内容: 我有一个解决方案,我认为我可以照顾模型继承,但是现在再来看一下,它实际上并不能解决我的问题。我希望能够调用一个模型,然后让我可以访问子模型的字段。对于继承,我仍然必须将子模型名称放在命令行中,这会破坏整个目的。这是我想要的示例: 我想做的是: 并使其运行相应的渲染功能。例如,如果pk与Note模型对齐,则它将仅返回self.id。当然,这简化为我要使用这些功能执行的操作。 我不必使用模

  • 我有两个实体BillingAddress和ShippingAddress映射到具有鉴别器类型列的表地址。 我能够使用不同的类型值在DB中成功保存/更新两个地址类型。 我面临的问题是当我查询地址表时,如下所示: 这工作正常,但查询ShippingAddress会引发非均匀查询结果异常,即结果中同时包含ShippingAddress和Billingaddress。请让我知道,我应该怎么做。

  • 我们最后一件关于我们的网站的事情就是创建一个漂亮的方式来增加和编辑博客文章。 Django的管理是很酷,但是它很难去自定义,变得更漂亮。 通过forms,我们可以拥有对我们界面绝对的权利—我们能够做几乎我们能想象到的所有事情! Django表单的一个好处就是我们既可以从零开始自定义,也可以创建ModelForm,它将表单的结果保存到模型里。 这正是我们想做的:我们将为我们自己的Post模型创建一个

  • HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。 HTTP 请求 HTTP协议以"请求-回复"的方式工作。客户发送请求时,可以在请求中附加数据。服务器通过解析请求,就可以获得客户传来的数据,并根据URL来提供特定的服务。 GET 方法 我们在之前的项目中创建一个 search.py 文件,用于接收用户的请求: /HelloWorld/HelloWor

  • 问题内容: 我想样式如下: forms.py: contact_form.html: 例如,如何设置一个类或ID为subject,email,message以提供外部样式表到? 问题答案: 摘自我的答案: 如何在Django中使用 标记表单字段 要么 要么 以上是对完成所要询问内容的原始问题的代码进行的最简单的更改。如果你在其他地方重复使用表格,也可以避免重复。如果你使用Django的as_tab

  • 问题内容: 首先,提供一些指向我参考的页面的链接:一个SO问题,以及有关通用关系和多表继承的Django文档。 到目前为止,我已经建立了一个多表继承设计。对象(例如:汽车,狗,计算机)可以继承Item类。我需要能够从数据库中检索项目,获取子类并对其进行处理。我的设计不允许一一检索不同类型的对象,因此我需要使用Item容器将它们全部包装为一个。有了Item后,Django文档说我可以通过使用模型名称