【问题标题】: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”实例的反向引用。