首页 > 解决方案 > Django,链接三个模型

问题描述

我有个问题。我有一个包含 rubric 和 sub_rubric 参数的 Bb 模型。还有 Rubric 和 Sub_rubric 模型,一对多相关。问题:如何在Bb模型中将rubric和sub_rubric相互链接,这样当创建Bb模型的新实例时,当rubric发生变化时,subrubruc列表也会发生变化。

Code: 
class Rubric(models.Model):
    name = models.CharField(max_length=50, db_index=True)

   
class Sub_Rubric(models.Model):
    rubric = models.ForeignKey(Rubric, null=True, on_delete = models.PROTECT)
    name = models.CharField(max_length=50, db_index=True,  unique = True)
class Bb(models.Model):
   
    title = models.CharField(max_length=50)
    content = models.TextField(null=True, blank=True)
    price = models.FloatField(null=True,blank=True)
    published = models.DateTimeField(auto_now_add=True, db_index=True, )
    rubric = models.ForeignKey(Rubric, null=True, on_delete = models.PROTECT, related_name='name')
    sub_rubric = models.ForeignKey(Sub_Rubric, null=True, on_delete = models.PROTECT)

标签: python-3.xdjangodjango-modelsforeign-keys

解决方案


在 Bb 中,您应该只定义 sub_rubric 的外键。您始终可以通过 Sub_rubric 访问 Rubric。


推荐阅读