WIP
This commit is contained in:
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user