在完成SQLModel的教程之后,我不记得看到任何关于如何使用Relationship
属性实现 1:1 关系的内容。
我找到了 SQLAlchemy的文档,但目前还不清楚这如何适用于 SQLModel。
代码示例:如何强制 User 和 ICloudAccount 具有 1:1 关系?
class User(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str
icloud_account_id: Optional[int] = Field(default=None, foreign_key="icloudaccount.id")
icloud_account: Optional["ICloudAccount"] = Relationship(back_populates="users")
class ICloudAccount(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
user_name: str
users: List[User] = Relationship(back_populates="icloud_account")