27 lines
730 B
Python
27 lines
730 B
Python
"""WorkoutDay model for the 4-day training split.
|
|
|
|
Defines the named workout days and their order.
|
|
"""
|
|
|
|
from typing import Optional
|
|
|
|
from sqlmodel import Field, SQLModel
|
|
|
|
|
|
class WorkoutDay(SQLModel, table=True):
|
|
"""A named workout day in the training program.
|
|
|
|
Attributes:
|
|
id: Primary key, auto-incremented.
|
|
name: Day name (Push, Pull, Lower, Full Body).
|
|
day_number: Order in the weekly rotation (1-4).
|
|
description: Brief description of the day's focus.
|
|
"""
|
|
|
|
__tablename__ = "workout_days"
|
|
|
|
id: Optional[int] = Field(default=None, primary_key=True)
|
|
name: str = Field(index=True, unique=True)
|
|
day_number: int = Field(unique=True)
|
|
description: str = Field(default="")
|