"""项目-信号关联""" from .base import Base from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy import BigInteger, Integer, VARCHAR, Float, ForeignKey class ProjectSignalLink(Base): __tablename__ = "project_signal_links" id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) project_id: Mapped[int] = mapped_column( BigInteger, ForeignKey("projects.id"), nullable=False ) signal_id: Mapped[int] = mapped_column( BigInteger, ForeignKey("signals.id"), nullable=False ) link_type: Mapped[str] = mapped_column(VARCHAR(50), nullable=False, default="related") relevance_score: Mapped[float] = mapped_column(Float, nullable=False, default=1.0) project = relationship("Project", back_populates="signal_links") signal = relationship("Signal")