问题标签 [multi-table-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
458 浏览

django - 为什么 Django Admin 在多继承模型的外键字段上显示空下拉列表?

我有以下型号:

一切都按预期工作,除了在 Django Admin 中,编辑 DocumentView 模型,文档下拉菜单不会与保存的文档一起被选中。

关于管理员,我以默认方式使用它:

这是一个屏幕截图: 在此处输入图像描述

0 投票
1 回答
99 浏览

django - 在 Django 中的多表继承的情况下,基础模型的多态查询是否可能?

即我们有

我想以Place某种方式查询:

但是因为q[x]我不想有Place类实例,Restaurant而是Cafe(真正存储的),所以我可以调用模型类的一些多态方法。可能的?

0 投票
1 回答
48 浏览

ruby-on-rails - 我应该如何为不同的文档类型建模?

我正在构建一个 Ruby On Rails API 来帮助管理构建文档——有许多不同类型的文档都有不同的字段,所以我目前有一个模型。

但是,我也希望能够引用这些文档,因为每个文档可以有任意数量的关联文档,这些文档可以是任何文档类型。我希望能够写出类似的东西

我所需要的只是相关文档的名称、ID 和类型(本质上是为了让人们可以轻松地在前端的相关文档之间导航)

这是单表继承的用例吗?有没有办法用多态关联来做到这一点?由于前端用例是链接列表,我应该只存储链接吗?

0 投票
2 回答
58 浏览

php - 4个表插入 - mysql

关系

我想通过选择@DistName@ProvNamedistrict和插入province

0 投票
2 回答
357 浏览

postgresql - 在基于 postgres 数据库的数据仓库中实现继承的最佳方法

我正在开发一个多步数据管道,应该优化以下过程:

1) 从NoSQL数据库 ( MongoDB ) 中提取数据。

2)将数据转换并加载到关系(PostgreSQL)数据库中。

3)使用Postgres数据库建立数据仓库

我手动编写了一个脚本来处理步骤 1) 和 2),这是一个中间 ETL 管道。现在我的目标是使用Postgres数据库构建数据仓库,但我对 DW 设计有一些疑问。下面是关系数据库的维度模型:

在此处输入图像描述

有 2 个主表,OccurrenceCanonical,从中继承了一组其他表(分别以红色和蓝色绘制)。请注意,有 2 个子数据类型ObserverNodeOccurrenceCanonicalObserverNode与另一个表具有额外的多对多关系。

我对如何在数据仓库中实现继承进行了一些研究,并认为最佳实践是将家庭数据类型(超级表和子表)合并到一个表中。这样做意味着添加额外的属性和大量值。我的新维度模型如下所示:

在此处输入图像描述

问题1:您认为这是解决这个问题的最佳方法吗?如果不是,那会是什么?

问题 2:有针对本地数据仓库的软件推荐吗?(内部部署是必须的,因为它包含敏感数据)

0 投票
0 回答
44 浏览

django - 从基础模型继承模型的 FK 关联查询优化

我有创建(或接收)交易的用户。我拥有的交易层次结构是一个多表继承,Transaction作为基本模型包含所有交易类型之间的公共字段,例如用户(FK)、金额等。我有几种交易类型,它们扩展了Transaction具有特定类型的模型数据。

为了这个例子,可以在下面找到说明我的问题的简化结构。

然后我在继承模型的.save()方法中设置每个事务的类型。这一切都很好。

当我想获取用户的交易时,问题就出现了。具体来说,我需要子模型实例(存款、转账和取款),而不是基本模型(交易)。我还需要用户自己创建的交易和他们收到的转账。对于前者,我使用django-model-utils's wonderful IneritanceManager,效果很好。除了当我在传输子模型的接收者 FK 字段上包含过滤时,数据库查询增加了一个数量级。

如上所示,我在 Transactionuser列和 Transferrecipient列上放置了索引。但在我看来,如果可能的话,我可能需要一个关于 Transaction 子类型的索引。我试图通过在 Transactiontype字段上放置索引并将其包含在查询中来实现此效果,如下所示,但这似乎没有效果。此外,我使用.select_related()用户对象,因为它们在序列化中是必需的。

查询的结构如下:

所以我的问题是,为什么在查询中包含 时,数据库查询存在数量级差异Transfer.recipient?我错过了什么吗?我在做傻事吗?或者有没有办法可以进一步优化?

0 投票
0 回答
28 浏览

django - Django 多表继承子类的空查询集

我有以下型号:

当我这样做时,SecondaryUser.objects.create(...)我得到了一个预期的实例:

这有一个 id 和预期的填充字段。我还可以查询基类并使用 django 生成的 1-1 字段进行继承来访问子类的字段:

User.objects.get(email='test@etest.com').secondaryuser.<some_field>

但是,当我这样做时,SecondaryUser.objects.all()它会返回一个空的查询集。并且模型管理员SecondaryUser显示了一个空列表视图(即使我SecondaryUser在管理员创建视图中创建了一个新实例)。

我觉得我遗漏了一些明显的东西,我需要能够在管理员中列出 SecondaryUser 实例。User类不能是抽象的。

编辑:已确认他们在数据库中:

0 投票
1 回答
96 浏览

ruby-on-rails - 如何在 Rails 中使用多态的 belongs_to 关联设置 MTI?

为了创建一个简短的、自包含的、正确的(可编译的)示例,假设我想做以下事情。

我有一个博客网站。有两种类型的帖子,TextPostLinkPost。还有两种类型的用户,UserGuest。我想用and实现多表继承,我的意思是(希望我正确使用了这个术语):TextPostLinkPost

  • 在模型级别,我将拥有Post和。并将继承自.TextPostLinkPostTextPostLinkPostPost
  • 在数据库级别,我将为 和 的“叶”模型提供表TextPostLinkPost但不为Post.

每种类型都Post可以属于 aUser或 a Guest。所以我们有一个多态的belongs_to情况。

我的问题是如何实现这些目标。

尝试了以下方法,但它不起作用。

控制台输出: