Files
Crm-Backend/models/board.py
2025-08-05 15:48:03 +04:00

25 lines
815 B
Python

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, CreatedAtMixin, IdMixin
if TYPE_CHECKING:
from models import Project, Status, Deal
class Board(BaseModel, IdMixin, SoftDeleteMixin, CreatedAtMixin):
__tablename__ = "boards"
name: Mapped[str] = mapped_column(nullable=False)
lexorank: Mapped[str] = mapped_column(nullable=False)
project_id: Mapped[int] = mapped_column(ForeignKey("projects.id"), nullable=False)
project: Mapped["Project"] = relationship(back_populates="boards")
statuses: Mapped[list["Status"]] = relationship(back_populates="board")
deals: Mapped[list["Deal"]] = relationship(back_populates="board")