djangomodel中一个字段的两个外键

时间:2017-11-28 07:54:59

标签: django-models django-orm

我在解决这个问题时遇到了一些麻烦,我为自己做了这件事。

我有这两个客户模型,有一些相似和不同的领域。我希望将这两个中的任何一个作为ForeignKey分配给我的projectclass中的字段。

这个想法是,当用户创建项目时,用户可以从所有客户中进行选择,并从私人和公司客户分配该特定字段,但不必事先在任何地方指定它是什么类型的客户。 / p>

私人客户

class PrivateCustomer(models.Model):
    .. fields

公司客户

class CompanyCustomer(models.Model):
    ...

项目

class Project(models.Model):
    customer = model.ForeignKey(PrivateCustomer,CompanyCustomer)

我是否可以动态地为特定字段连接两个实例,或者我应该放弃两个客户类之间的分离并通过UI输入处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

如果两个字段的条件 null = True

class Project(models.Model):
    privateCustomer = models.ForeignKey(PrivateCustomer, null = True)
    companyCustomer = models.ForeignKey(CompanyCustomer , null = True)

然后从您的观点中,您可以轻松处理它们。