from typing import TYPE_CHECKING from sqlalchemy import ForeignKey from sqlalchemy.orm import Mapped, mapped_column, relationship from models.base import BaseModel from models.mixins import SoftDeleteMixin, IdMixin if TYPE_CHECKING: from models import Board class Status(BaseModel, IdMixin, SoftDeleteMixin): __tablename__ = "statuses" name: Mapped[str] = mapped_column(nullable=False) lexorank: Mapped[str] = mapped_column(nullable=False) board_id: Mapped[int] = mapped_column(ForeignKey("boards.id"), nullable=False) board: Mapped["Board"] = relationship(back_populates="statuses")