24 lines
735 B
Python
24 lines
735 B
Python
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"
|
|
)
|