feat: house price prediction model integration

This commit is contained in:
nasim
2025-04-03 10:14:54 +02:00
parent 72375db5cd
commit 3aa78be3d6
22 changed files with 251 additions and 24 deletions
+7 -1
View File
@@ -1,6 +1,11 @@
from typing import Optional, TYPE_CHECKING
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
from sqlmodel import Field, Relationship, SQLModel
if TYPE_CHECKING:
from backend.app.models.owner import Owner
class House(SQLModel, table=True):
@@ -14,3 +19,4 @@ class House(SQLModel, table=True):
square_feet: float = Field()
bedrooms: int = Field()
bathrooms: float = Field()
owner: Optional["Owner"] = Relationship(back_populates="houses")
+10 -1
View File
@@ -1,8 +1,17 @@
from typing import Optional, TYPE_CHECKING
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
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")
+8 -1
View File
@@ -1,9 +1,16 @@
from typing import Optional, TYPE_CHECKING
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
from sqlmodel import Field, Relationship, SQLModel
if TYPE_CHECKING:
from backend.app.models.owner import Owner
class User(SQLModel, table=True):
id: UUID = Field(default_factory=lambda: uuid4(), primary_key=True)
email: str = Field(unique=True, nullable=False)
password_hash: str = Field(nullable=False)
# Relationships
owner: Optional["Owner"] = Relationship(back_populates="user")