fooder-api/fooder/domain/preset.py

18 lines
612 B
Python

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",
)