【问题标题】:Django , linking three modelsDjango,链接三个模型
【发布时间】:2021-12-24 07:55:51
【问题描述】:

我有一个问题。我有一个包含 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.x django django-models foreign-keys


【解决方案1】:

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

【讨论】:

  • 如果我这样做,就会有一个很长的 sub_rubric 列表。 django可以制作链表吗?
  • 我无法回复,因为我似乎不完全理解您的问题。也许你添加一些更多的解释。
  • 在管理面板中,当我从列表中选择一个标题(例如,传输)时,第二个列表向我显示所有标题的所有子粗细数据(例如,在选择标题“传输时, sub_rubric 显示除“motorcycles , cars”外,还显示“studio apartment, house”等)。如何绕过它?我希望我解释清楚了。
  • 好的 - 明白了。也许这有帮助:stackoverflow.com/questions/23664518/…
  • 这里是管理员之外的示例:simpleisbetterthancomplex.com/tutorial/2018/01/29/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-02
  • 2021-12-11
  • 2017-11-25
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多