from typing import Optional, TYPE_CHECKING from uuid import UUID, uuid4 from sqlmodel import Field, Relationship, SQLModel if TYPE_CHECKING: from backend.app.models.house import House from backend.app.models.user import User class Owner(SQLModel, table=True): id: UUID = Field(default_factory=uuid4, primary_key=True) user_id: UUID = Field(foreign_key="user.id", unique=True) # Relationship houses: list["House"] = Relationship(back_populates="owner") user: Optional["User"] = Relationship(back_populates="owner")