This commit is contained in:
Trey t
2023-07-04 11:46:55 -05:00
parent 85222397a0
commit b147040c53
2 changed files with 14 additions and 2 deletions

Binary file not shown.

View File

@@ -2,6 +2,8 @@ from rest_framework import serializers
from .models import *
from exercise.serializers import ExerciseSerializer
from registered_user.serializers import GetRegisteredUserSerializer
from muscle.models import ExerciseMuscle
from equipment.models import WorkoutEquipment
class WorkoutExerciseSerializer(serializers.ModelSerializer):
exercise = ExerciseSerializer(read_only=True)
@@ -12,8 +14,6 @@ class WorkoutExerciseSerializer(serializers.ModelSerializer):
model = WorkoutExercise
fields = ('workout', 'exercise','weight','reps','duration','duration_audio','weight_audio', 'created_at',)
class CompleteWorkoutSerializer(serializers.ModelSerializer):
class Meta:
model = CompletedWorkout
@@ -37,11 +37,23 @@ class CompleteWorkoutSerializer(serializers.ModelSerializer):
class WorkoutSerializer(serializers.ModelSerializer):
# exercise = WorkoutExerciseSerializer(source='workout_exercise_workout', many=True)
registered_user = GetRegisteredUserSerializer(many=False, read_only=True)
muscles = serializers.SerializerMethodField()
equipment = serializers.SerializerMethodField()
class Meta:
model = Workout
fields = '__all__'
# depth = 1
def get_muscles(self, obj):
exercises = WorkoutExercise.objects.filter(workout=obj).values_list('id')
muscles_names = ExerciseMuscle.objects.filter(exercise__id__in=exercises).values_list('muscle__name', flat=True)
return list(set(muscles_names))
def get_equipment(self, obj):
exercises = WorkoutExercise.objects.filter(workout=obj).values_list('id')
muscles_names = WorkoutEquipment.objects.filter(exercise__id__in=exercises).values_list('equipment__name', flat=True)
return list(set(muscles_names))
class WorkoutDetailSerializer(serializers.ModelSerializer):
exercises = serializers.SerializerMethodField()