Python django模型字段取决于另一个字段的值
我的应用程序的用例是,我将有多个字段需要填写,其中一个是行业字段,另一个是品牌细分字段。行业领域就像品牌所属的范畴。因此,如果我选择Python django模型字段取决于另一个字段的值,python,django,django-models,Python,Django,Django Models,我的应用程序的用例是,我将有多个字段需要填写,其中一个是行业字段,另一个是品牌细分字段。行业领域就像品牌所属的范畴。因此,如果我选择行业作为医疗保健用于XYZ品牌,则细分字段应显示“阿育吠陀”、“牙科诊所”(所有医疗保健相关项目)等项目。基本上,它类似于子类别 这是一个示例模型 class Industry(models.Model): name = models.CharField(max_length=150, blank=True, null=True) class Me
行业
作为医疗保健
用于XYZ品牌
,则细分
字段应显示“阿育吠陀”、“牙科诊所”(所有医疗保健相关项目)等项目。基本上,它类似于子类别
这是一个示例模型
class Industry(models.Model):
name = models.CharField(max_length=150, blank=True, null=True)
class Meta:
verbose_name = 'Industry'
verbose_name_plural = 'Industries'
def __str__(self):
return self.name
class Segment(models.Model):
industry = models.ForeignKey(Industry, related_name='segment', on_delete=models.CASCADE)
name = models.CharField(max_length=150, blank=True, null=True)
class Meta:
verbose_name = 'Segment'
verbose_name_plural = 'Segments'
def __str__(self):
return f'{self.industry.name} - {self.name}'
class BusinessModel(models):
industry = models.ForeignKey(Industry, blank=False, null=False, related_name='industry', on_delete=models.CASCADE)
# segements = models.ForeignKey()
total_investment = models.CharField() # will be choice field
这是一个简单的模型,我没有创建分段模型,因为我不知道如何解决这个问题。我只是好奇地想知道,在这种情况下,我是否需要在models.py
或视图中使用一些特殊的东西。这种类型的事情在开发阶段出现,因此,我想弄清楚django中的问题解决模式
更新
在这里,如果您选择“行业内部业务模型”部分,则该细分将相应更新。您需要定义模型之间的关系。您可以找到适用于您的案例的关于多个关系的文档。您可以使用3个模型设计,如
class Industry(models.Model):
name = models.CharField(max_length=150, blank=True, null=True)
class Segment(models.Model):
name = models.CharField(max_length=150, blank=True, null=True)
class Mapping(models.Model):
industry = models.ForeignKey(Industry)
segment = models.ForeignKey(Segment)
所以映射应该是BusinessModel表中的外键,而不是单独的行业和细分表?我不理解您的问题。映射是一个关联实体,与行业和部门相关,我将研究它,谢谢。同时,关联实体是否像许多人中的贯穿物?是的,许多人对许多人将在引擎盖下形成关联实体。如果需要跟踪有关关系本身的信息,则需要将其添加为自己的模型。取决于你在做什么。商业模式应该只属于一个行业,行业有多个细分市场,但商业模式中的细分市场只有一个。我的意思是,如果我选择了医疗保健,那么它有多个部分,但从这些多个部分中,我只能选择一个值。