问题标签 [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 回答
59 浏览

django - 将数据存储在不同的表中或使用布尔字段

我有一张Article桌子

我存储用户喜欢的文章的表格:

并且不喜欢:

现在在这里,喜欢和不喜欢的表在结构上是相同的。我发现像这样存储它而不是存储一个 bool 字段更好,is_liked因为我完全知道我正在存储什么数据。所以当我知道我只对LikedArticle. 这是正确的方法吗?我只是感到困惑,因为它们在结构上看起来相同,而且这种设计感觉有些不对劲。

0 投票
1 回答
123 浏览

django - Django 在每个子类模型中单独增加 ID

有两个模型的旧代码如下所示:

现在我需要一个通用的水果搜索相关功能,所以我尝试使用模型继承而不干扰旧数据中的原始 ID 号:

这会导致字段“id”的冲突,因为 django 不允许覆盖子类模型中的字段。

我还尝试在 Fruit 模型中添加不同的 AutoField 'base_id',因为根本不会使用父模型中的 ID。但后来我在尝试运行南 makemigrations 时收到“django.db.utils.ProgrammingError:关系“Fruit”已经存在”错误。

我知道重新编号所有 ID 并与所有子类模型共享它们可以解决问题,但我尽量避免使用这种方法,因为这些 ID 已经被其他表引用并且也被其他系统使用。

任何建议将被认真考虑。

0 投票
1 回答
632 浏览

python - 在 Django 中选择哪种类型的模型继承

我正在尝试为 Django 中的库存类型项目编写模型,但不确定如何最好地定义我的模型。我是否选择抽象基类、多表继承、代理模型或其他东西来让我的模型根据这些要求运行:

  • 可以跟踪产品库存水平的通用产品模型
  • 管理员用户必须能够通过管理员添加新的通用产品
  • 可以将硬件序列号作为属性添加的特定产品型号
  • 特定产品可以与我的订单/客户模型相关联

是否有可能做到这一点并让它满足我的要求而没有任何问题,或者有更好的方法吗?

理想情况下,我希望有这样的行为:

我在正确的轨道上吗?任何帮助/建议将不胜感激!

0 投票
0 回答
142 浏览

django - Django模型继承:模型子类在模型父类数据表中创建额外的行

我正在尝试基于 Django 文档应用基本模型继承。最终目标是在 get_date_info 视图中访问 Exam 和 Date 模型的共享 ID,该视图在 get_exam_info 视图之后调用。也许有比模型继承更好的方法来做到这一点,但这对我来说似乎是最直接的。

这是相关的模型代码:

这是相关的视图代码:

这是数据库中的结果: 这是考试表

这是日期表

我尝试了其他一些事情:我创建了一个包含共享 id 的抽象模型,然后我创建了这个抽象超类的 Exam 和 Date 类的子类。这在数据库中给出了预期的行为,但随后视图中的考试实例不可用。我还尝试了许多创建 OneToOneFields 以链接 Exam 和 Date 模型的组合,但这些都没有提供所需的行为。

很长一段时间以来,我一直试图弄清楚为什么会发生这种情况。任何帮助,将不胜感激!

0 投票
0 回答
13 浏览

python - 具有泛型关系的 Django 模型继承

我有以下模型结构:

创建患者时,我在序列化程序中执行以下操作:

这样,在 Contact 表中,它将直接引用 Person 基本模型。这样做的目的是我必须在 Person 上创建另一个类来继承这些联系人。

我在这种结构中遇到的问题是,对于患者视图,“联系人”始终为空:它从列表中返回以下内容并检索视图。可能只是调整查询集的问题吗?

“接触”: []

任何使此代码更好/结构的建议都受到欢迎。

提前致谢!