【问题标题】:Peewee one-to-one connectionPeewee 一对一连接
【发布时间】:2020-06-13 13:16:49
【问题描述】:

我正在尝试定义两个彼此具有一对一关系的表。但我不能那样做。

我的模型是这样的:

class Model1(BaseModel):
    field1 = TextField()

class Model2(BaseModel):
    rel_model = ForeignKeyField(Model1, backref="model1", unique=True)
    field2 = TextField

此模型创建一对多关系。

【问题讨论】:

    标签: python database peewee


    【解决方案1】:

    Peewee 除了具有唯一约束的外键之外没有 1 对 1 的概念,这就是您所声明的。

    如果你想要的话,只需将其作为反向引用的属性公开即可:

    class Model1(BaseModel):
        @property
        def model2(self):
            return self.model2_set.get()
    
    class Model2(BaseModel):
        model1 = ForeignKeyField(Model1, unique=True)
    

    顺便说一下,您的示例中的反向引用是向后的 - 它是“model2”实例的反向引用。

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 2016-09-20
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 2016-08-11
      • 2021-12-11
      相关资源
      最近更新 更多