在python中选择正确的对应类的正确方法

时间:2018-12-14 19:57:49

标签: python django django-models

我正在使用Django,并且有一些模型。它们彼此关联,没有任何外键,但是我希望能够在一个集中的位置选择它们,这是模型(没有继承和字段,因此测试很容易):

class ItemTypeOne:
    pass

class ItemOneExtra:
    pass

# -----------------------------
class ItemTypeTwo:
    pass

class ItemTwoExtra:
    pass

# ... and so on

到目前为止,我认为要使用它来映射它们,就像这样:

correlated_extra_model = {ItemTypeOne: ItemOneExtra, ItemTypeTwo: ItemTwoExtra}[ItemTypeOne]

这可以,但是我不确定是否可以接受

1 个答案:

答案 0 :(得分:0)

首先,在关系设置中,仅当您具有某种外键或指向另一个表的一对一字段时,您的表才相关。没有它,它在数据库级别就没有任何关系。您可能通过逻辑来强制执行此行为。

第二,如果您必须为每个基本模型创建一个辅助模型,那么我认为这表明当前的设计存在缺陷,您需要重新考虑模型。当然,这是基于我的假设,它们可能不适用于您的用例。因此,如果可以的话,请分享有关问题陈述的更多详细信息。

相关问题