【问题标题】:ForeignKey field with primary relationship具有主要关系的 ForeignKey 字段
【发布时间】:2012-01-14 02:55:12
【问题描述】:

我的数据库中有两个表(django:我的应用程序中的模型)如下:

class Model1(models.Model):
    name = models.CharField()
    #etc....

class Model2(models.Model):
    link = models.ForeignKey(Model1)

每个模型 1 可以有很多模型 2 的实例链接到它,但模型 2 只能链接到一个模型 1 - 基本的一对多关系。

我的问题是:我需要每个 Model1 都有一个主 Model2 - 也就是说,其中一个相关的 Model2 需要以某种方式标记为“主”。

到目前为止,这些是我的想法:我应该这样做

  1. Model2 上的布尔字段表示它是否是主要字段,然后是应用级验证,表示每个 Model1 中只有一个 Model2 可以将该字段设置为 True,或者
  2. Model1 上名为“primary_model2”的 ForeignKey 字段链接到 Model2 实例,应用级验证表明只有链接到 Model1 的 Model2 可以是主要的

有什么想法吗??我有点难过。提前致谢!

【问题讨论】:

    标签: database django relational-database one-to-many


    【解决方案1】:

    我会在 Model2 上使用布尔值。执行保存覆盖非常容易,它将与 Model1 相关的任何其他 Model2 实例设置为 false。

    【讨论】:

      猜你喜欢
      • 2021-12-20
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2017-06-18
      相关资源
      最近更新 更多