Peewee一对一连接

Peewee one-to-one connection

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

我的模特是这样的:

class Model1(BaseModel):
    field1 = TextField()

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

此模型创建一对多关系。

Peewee 没有超出具有唯一约束的外键的 1 对 1 的概念,这是您声明的内容。

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

class Model1(BaseModel):
    @property
    def model2(self):
        return self.model2_set.get()

class Model2(BaseModel):
    model1 = ForeignKeyField(Model1, unique=True)

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