[FWA-5] Home Create and List

This commit is contained in:
2024-07-03 08:57:50 +00:00
parent 1c205c69ac
commit b938f296c1
33 changed files with 414 additions and 93 deletions

View File

@ -4,30 +4,30 @@ from sqlalchemy.orm import Mapped, mapped_column, relationship
from backend.db.models.guid import GUID
from .._model_base import SqlAlchemyBase
from .._model_base import SqlAlchemyBase, DeleteMixin
class Houses(SqlAlchemyBase):
class Houses(SqlAlchemyBase, DeleteMixin):
__tablename__ = 'houses'
id: Mapped[GUID] = mapped_column(GUID, primary_key=True, default=GUID.generate, index=True)
icon: Mapped[str | None] = mapped_column(String, index=True, nullable=False)
icon: Mapped[str | None] = mapped_column(String, nullable=False)
name: Mapped[str | None] = mapped_column(String, index=True, nullable=False)
address: Mapped[str | None] = mapped_column(String, index=True, nullable=False)
address: Mapped[str | None] = mapped_column(String, nullable=False)
areas: Mapped[List["Areas"]] = relationship()
areas: Mapped[List["Areas"]] = relationship("Areas", back_populates="house", cascade="all, delete", passive_deletes=True)
def __repr__(self):
return f"{self.__class__.__name__}, name: {self.name}"
class Areas(SqlAlchemyBase):
class Areas(SqlAlchemyBase, DeleteMixin):
__tablename__ = 'areas'
id: Mapped[GUID] = mapped_column(GUID, primary_key=True, default=GUID.generate, index=True)
house_id: Mapped[GUID] = mapped_column(GUID, ForeignKey('houses.id'), index=True, nullable=False)
house_id: Mapped[GUID] = mapped_column(GUID, ForeignKey('houses.id', ondelete='CASCADE'), nullable=False)
name: Mapped[str | None] = mapped_column(String, index=True, nullable=False)
desc: Mapped[str | None] = mapped_column(String, index=True, nullable=False)
desc: Mapped[str | None] = mapped_column(String, nullable=False)
user: Mapped['Houses'] = relationship(back_populates="areas")
house: Mapped['Houses'] = relationship(back_populates="areas")
def __repr__(self):
return f"{self.__class__.__name__}, name: {self.name}"