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 .models import *
|
||||||
from exercise.serializers import ExerciseSerializer
|
from exercise.serializers import ExerciseSerializer
|
||||||
from registered_user.serializers import GetRegisteredUserSerializer
|
from registered_user.serializers import GetRegisteredUserSerializer
|
||||||
|
from muscle.models import ExerciseMuscle
|
||||||
|
from equipment.models import WorkoutEquipment
|
||||||
|
|
||||||
class WorkoutExerciseSerializer(serializers.ModelSerializer):
|
class WorkoutExerciseSerializer(serializers.ModelSerializer):
|
||||||
exercise = ExerciseSerializer(read_only=True)
|
exercise = ExerciseSerializer(read_only=True)
|
||||||
@@ -12,8 +14,6 @@ class WorkoutExerciseSerializer(serializers.ModelSerializer):
|
|||||||
model = WorkoutExercise
|
model = WorkoutExercise
|
||||||
fields = ('workout', 'exercise','weight','reps','duration','duration_audio','weight_audio', 'created_at',)
|
fields = ('workout', 'exercise','weight','reps','duration','duration_audio','weight_audio', 'created_at',)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CompleteWorkoutSerializer(serializers.ModelSerializer):
|
class CompleteWorkoutSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CompletedWorkout
|
model = CompletedWorkout
|
||||||
@@ -37,11 +37,23 @@ class CompleteWorkoutSerializer(serializers.ModelSerializer):
|
|||||||
class WorkoutSerializer(serializers.ModelSerializer):
|
class WorkoutSerializer(serializers.ModelSerializer):
|
||||||
# exercise = WorkoutExerciseSerializer(source='workout_exercise_workout', many=True)
|
# exercise = WorkoutExerciseSerializer(source='workout_exercise_workout', many=True)
|
||||||
registered_user = GetRegisteredUserSerializer(many=False, read_only=True)
|
registered_user = GetRegisteredUserSerializer(many=False, read_only=True)
|
||||||
|
muscles = serializers.SerializerMethodField()
|
||||||
|
equipment = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Workout
|
model = Workout
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
# depth = 1
|
# 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):
|
class WorkoutDetailSerializer(serializers.ModelSerializer):
|
||||||
exercises = serializers.SerializerMethodField()
|
exercises = serializers.SerializerMethodField()
|
||||||
|
|||||||
Reference in New Issue
Block a user