feat: deal tags
This commit is contained in:
@ -7,7 +7,7 @@ from models.base import BaseModel
|
||||
from models.mixins import SoftDeleteMixin, CreatedAtMixin, IdMixin
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from models import Status, Board, DealStatusHistory, DealGroup
|
||||
from models import Status, Board, DealStatusHistory, DealGroup, DealTag
|
||||
from modules.clients.models import Client
|
||||
|
||||
|
||||
@ -41,6 +41,14 @@ class Deal(BaseModel, IdMixin, SoftDeleteMixin, CreatedAtMixin):
|
||||
lazy="noload", back_populates="deals"
|
||||
)
|
||||
|
||||
tags: Mapped[list["DealTag"]] = relationship(
|
||||
secondary="deals_deal_tags",
|
||||
back_populates="deals",
|
||||
lazy="selectin",
|
||||
primaryjoin="Deal.id == deals_deal_tags.c.deal_id",
|
||||
secondaryjoin="and_(DealTag.id == deals_deal_tags.c.deal_tag_id, DealTag.is_deleted == False)",
|
||||
)
|
||||
|
||||
# module client
|
||||
client_id: Mapped[Optional[int]] = mapped_column(
|
||||
ForeignKey("clients.id", ondelete="CASCADE"),
|
||||
|
||||
Reference in New Issue
Block a user