我正在使用Django,并且有一些模型。它们彼此关联,没有任何外键,但是我希望能够在一个集中的位置选择它们,这是模型(没有继承和字段,因此测试很容易):
class ItemTypeOne:
pass
class ItemOneExtra:
pass
# -----------------------------
class ItemTypeTwo:
pass
class ItemTwoExtra:
pass
# ... and so on
到目前为止,我认为要使用它来映射它们,就像这样:
correlated_extra_model = {ItemTypeOne: ItemOneExtra, ItemTypeTwo: ItemTwoExtra}[ItemTypeOne]
这可以,但是我不确定是否可以接受
答案 0 :(得分:0)
首先,在关系设置中,仅当您具有某种外键或指向另一个表的一对一字段时,您的表才相关。没有它,它在数据库级别就没有任何关系。您可能通过逻辑来强制执行此行为。
第二,如果您必须为每个基本模型创建一个辅助模型,那么我认为这表明当前的设计存在缺陷,您需要重新考虑模型。当然,这是基于我的假设,它们可能不适用于您的用例。因此,如果可以的话,请分享有关问题陈述的更多详细信息。