Reference Data Models

Core reference data entities for exercise categorization (muscle groups, equipment, and metadata tags).

Association Tables

exercise_primary_muscles

Association table linking exercises to their primary target muscle groups.

exercise_secondary_muscles

Association table linking exercises to their secondary (synergist) muscle groups.

exercise_equipment

Association table linking exercises to the required equipment.

exercise_tag_map

Association table linking exercises to system-defined metadata tags.

Entities

class MuscleGroup(**kwargs)[source]

Bases: SmallIntPKBase

Anatomical muscle group used to categorize exercises and track targeting.

name: Mapped[str]

Normalized lowercase name of the muscle group.

primary_exercises: Mapped[list[Exercise]]

Exercises where this muscle is the prime mover (read-only).

secondary_exercises: Mapped[list[Exercise]]

Exercises where this muscle acts as a synergist or stabilizer (read-only).

class Equipment(**kwargs)[source]

Bases: SmallIntPKBase

Physical tools or machines required to perform specific exercises.

name: Mapped[str]

Normalized lowercase name of the equipment.

exercises_using: Mapped[list[Exercise]]

Collection of exercises that utilize this equipment (read-only).

class ExerciseTag(**kwargs)[source]

Bases: SmallIntPKBase

Flexible metadata labels used for grouping and filtering exercises.

name: Mapped[str]

Normalized lowercase tag name.

tagged_exercises: Mapped[list[Exercise]]

Collection of exercises associated with this metadata tag (read-only).