from typing import TYPE_CHECKING from sqlalchemy import INTEGER, ForeignKey from sqlalchemy.orm import Mapped, mapped_column, relationship from db.base import Base if TYPE_CHECKING: from db.models import Subscription class SubscriptionAddon(Base): __tablename__ = "subscription_addons" id: Mapped[int] = mapped_column( INTEGER, nullable=False, unique=True, autoincrement=True, primary_key=True ) subscription_id: Mapped[int] = mapped_column(ForeignKey("subscriptions.id"), nullable=False) addon_id: Mapped[str] = mapped_column(ForeignKey("addons.id"), nullable=False) subscription: Mapped["Subscription"] = relationship( "Subscription", back_populates="addons", lazy="selectin" )