Django设计模式模型,ForeignKey引用多个类

2024-09-28 03:16:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设计一个Django库存跟踪应用程序,并且在模型布局中遇到了一个障碍。我有一个清单对象列表(^{cd1>),它可以存在于^{{cd2>}或^{{cd3>}。我想为两种类型的位置存储不同的属性列表,例如:

  • 对于^{cd2>}s,我想存储地址、管理器等
  • 对于^{cd3>}s,我想存储载波、跟踪号等

由于每个^{{cd2>}和^{cd3>}都可以包含多个^{{cd8>},但是每个^{cd8>}一次只能在一个地方,因此向^{cd8>}模型添加^{cd10>}关系似乎是一种方法。然而,由于^{{cd2>}和^{cd3>}对象具有不同的数据模型,因此我不确定如何最好地做到这一点。

一个明显的(而且有些难看)的解决方案是创建一个^{{cd14>}模型,该模型包含所有^{{cd3>}和^{cd2>}属性和^{cd17>}布尔属性,但这让我感到有些心惊胆战。有没有更清洁的方法来解决这类问题(或者是否有任何非Django Python库可能更适合这个问题?)


Tags: 对象django方法模型应用程序类型列表属性
2条回答

在资产上有一个通用外键呢?在

我认为创建“直通”表(如位置)是完全合理的,该表将资产、内容(外键)和内容类型(仓库或装运)关联起来。您可以对资产fk设置唯一的约束,这样它一次只能存在于一个位置

相关问题 更多 >

    热门问题