from sqlalchemy import ForeignKey, Integer from sqlalchemy.orm import Mapped, mapped_column, relationship from fooder.domain.base import Base, AggregateMacrosMixin, CommonMixin from fooder.domain.preset_entry import PresetEntry class Preset(Base, CommonMixin, AggregateMacrosMixin): """Preset.""" name: Mapped[str] user_id: Mapped[int] = mapped_column(Integer, ForeignKey("user.id"), index=True) entries: Mapped[list[PresetEntry]] = relationship( lazy="selectin", order_by=PresetEntry.last_changed, cascade="all, delete-orphan", back_populates="preset", )