问题标签 [model-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 投票
3 回答
748 浏览

python - 如果有子类实例,如何查询模型?

我有这两个简单的模型,A 和 B:

现在,我如何查询所有没有 B 实例的 A 实例?

我发现的唯一方法需要在每个子类上都有一个明确的唯一字段,该字段不为 NULL,以便我可以执行 A.objects.filter(b__this_is_a_b=None),例如,获取不是 B 实例的实例。我正在寻找一种方法来做到这一点,而无需添加这样的明确愚蠢的标志。

我也不想查询所有对象,然后在 Python 中过滤它们。我想让数据库为我做这件事,基本上就像SELECT * FROM A WHERE A.id in (SELECT id from B)

0 投票
2 回答
2350 浏览

python - 使用 Django 的 ORM 的模型继承方法

我想将事件存储在我正在玩弄的 Web 应用程序中,我对每种方法的优缺点感到非常不确定 - 广泛使用继承或更适度的方式。

例子:

感觉就像我在疯狂地创建数据库表。它需要大量的连接来选择东西,并且可能会使查询复杂化。但我认为它的设计感觉很好。

使用具有更多字段的“更扁平”模型会更合理吗?

感谢您对此的评论,任何人。

菲利普

0 投票
1 回答
1322 浏览

django - 为与继承模型关联的 ModelForm 指定初始字段值

问题:如果使用模型继承并且每个子模型在渲染ModelForm.

以以下模型为例,其中CompileCommandTestCommand两者在呈现为时都需要不同的初始值ModelForm

我知道initial={...}在实例化表单时可以使用该参数,但是我宁愿将初始值存储在模型的上下文中(或至少在关联的 ModelForm 中)。

我目前的做法

我现在正在做的是在 dict 中存储一个初始值Meta,并在我的视图中检查它。

这感觉太像黑客了。我渴望一种更通用/更好的方法来实现这一点。建议表示赞赏。

更新的解决方案(看起来很有希望)

我现在有以下内容forms.py,允许我Meta.default_initial_values在视图中设置而不需要额外的样板代码。如果用户未指定initial={...}参数,则使用默认值。

0 投票
2 回答
232 浏览

python - Django 继承

请看一看:

所以我创建了“CookRecette”和“NewsPaper”作为“文章”。我还创建了一个链接到(manyToMany)“文章”的“类别”类。

但在管理界面中,我无法从“类别”链接到“CookRecette”或“NewsPaper”。与代码相同。有什么帮助吗?

干杯,
马丁马加基安

PS:我很抱歉,但实际上这段代码是正确的!所以一切正常,我可以从“Categorie”中看到我的“CookRecette”或“NewsPaper”

0 投票
1 回答
473 浏览

django - 在子模型中继承 get_absolute_url 的问题

我有以下几组模型(为清楚起见而缩写):

第一组:

这是一个孩子:

第二套

这是一个孩子:

这是一个孩子:

“ResourceOrganization”模型正确地覆盖了 get_absolute_url 方法并添加了“categories”通用关系。

“网络”模型不是。

我不知道为什么。将不胜感激任何见解。

PS我意识到可能有更好的方法来实现这个功能,但我暂时坚持使用它,直到我可以重构并想让它工作。

谢谢。

0 投票
1 回答
172 浏览

django - Django:保存孩子失败时的孤儿父实例

我有一个继承自 Content 模型的 Photo 类,如下所示:

可以看出,Content 本身并不是抽象的。通过 ModelForm,我正在上传照片。但是,如果由于某种原因无法保存照片,则会留下一个孤立的 Content 实例。我猜父模型的实例是在保存照片实例之前创建的,但是如果照片失败,则不会清理父模型。

这是Django方面的错误吗?如何防止这种情况?

0 投票
0 回答
204 浏览

ruby-on-rails - 用户创建的排行榜的 Rails 模型结构

我正在寻找一个应用程序,允许多个用户创建自己的表,用字段和“参赛者”填充这些表。

我正在尝试背负我按照 Rails 教程 ( http://ruby.railstutorial.org/ruby-on-rails-tutorial-book ) 所做的工作,因此我使用在那里创建的用户模型。

我目前的想法是有以下布局:

但是,我手动填充(并且必须限制)字段的数量似乎很混乱,而且我真的不知道我将如何考虑想要创建具有较少字段的表的用户。

此外,我不确定参赛者模型在字段值的标题(和类型)上的继承,即有时该字段希望是一个 int,有时是一个字符串。

我是否以正确的方式解决这个问题,或者是否有更好的结构或一些我没有利用的 Ruby/Railisms?

0 投票
3 回答
2859 浏览

django - 使用 save(update_fields = […]) 时强制执行 auto_now

模型定义:

在一个Stuff对象中,我只想更新该name字段,并保持所有其他字段不变,除了关联Footprint对象中定义的字段。

Footprint如果我不使用,对象中的字段会正确更新update_fields

但是,如果我指定要更新的字段,则关联Footprint的甚至都不会保存。

我必须使用update_fields以避免几个脚本之间的干扰。

同时,我想始终跟踪由“足迹”对象定义的上次修改(它包含上次修改日期以及其他几个字段;它们的更新由自定义触发save()方法触发)。

有没有办法强制调用,Footprint.save()即使update_fields不包含来自的任何字段Footprint

0 投票
0 回答
284 浏览

django - 相同结构化数据库的 Django 模型

我有相同数据库架构的不同数据数据库(也在 1 个数据库中:具有相同结构/架构的不同表),我想在我的所有其他应用程序中使用这些数据库作为数据后端。

例如数据库名称:database1

数据库名称:database2

在这里,您可以看到 database1 和 database2 具有相同的架构。同样在两个数据库中,表:tableB 和 tableC 具有相同的模式。简而言之,为每个具有相同结构的区域创建单独的数据库,而不是为所有区域创建一个大数据库。在 1 个数据库中,我有大约 15 个表,在 15 个表中,有 12 个表具有相同的模式,其中存储了日常数据。

谁能告诉我我应该如何在 django 中设计这个?我应该使用多个模型文件(每个数据库 1 个)创建 1 个应用程序并使用路由器将其定向到不同的数据库吗?如何?或者为每个数据库创建不同的应用程序?您可以看到在这两种情况下都存在大量代码缩减,因为所有模型文件都具有相同的结构。

0 投票
1 回答
58 浏览

ruby-on-rails - 具有独特字段集的 Rails 模型继承

我有一个带有基本字段集的模型 BillService。接下来,我要创建两个模型 BillItem 和 BillGroup,它们是 this 的继承者并具有附加字段(每个都有一个唯一的集合)。我还希望能够通过基类的所有继承人实例并检查具体实例的类。

我无法想象如何实现这一点。我试图用谷歌搜索它,但没有成功。我读到了 STI。这就是我需要的吗?