python-3.x - 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)
解决方案
在 Bb 中,您应该只定义 sub_rubric 的外键。您始终可以通过 Sub_rubric 访问 Rubric。
推荐阅读
- javascript - _.pull/_.pullAll 对面的 Lodash 函数是什么?
- google-analytics - 为什么 Google Measurement Protocol 会在配置的限制之前拆分我的会话?
- javascript - href 下载不适用于某些扩展名或没有扩展名的文件
- cron - 在每小时 00:00 - 00:02 - 04:00 - 23:59 之间运行 cron 作业
- ajax - Bean 中的变量没有通过按钮单击来保持其值
- r - 无法在 macos 上安装软件包
- javascript - 将复选框更改为选中单击跨度不起作用
- angular - 对带有 ionic 4 的路由器的说明
- dart - 获取 _InternalLinkedHashMap
' 不是类型 'FutureOr 的子类型 ' - java - 在 Spring Boot 中将实体与有效负载 (dto) 混合 - 最佳实践