from rest_framework import serializers from .models import * # from module.serializers import SlimModuleSerializer class WorkoutExerciseSerializer(serializers.ModelSerializer): # module = SlimModuleSerializer(read_only=True) class Meta: model = WorkoutExercise fields = ('workout', 'module','weight','reps') class CompleteWorkoutSerializer(serializers.ModelSerializer): class Meta: model = CompletedWorkout exclude = ['registered_user'] def create(self, validated_data): registered_user_id = self.context.get("registered_user") registered_user = RegisteredUser.objects.get(id=registered_user_id) completed_workout = CompletedWorkout.objects.create( registered_user=registered_user, workout=validated_data['workout'], difficulty=validated_data['difficulty'] ) completed_workout.save() return completed_workout class WorkoutSerializer(serializers.ModelSerializer): exercise = WorkoutExerciseSerializer(source='workout_exercise_workout', many=True) class Meta: model = Workout fields = '__all__' class WorkoutDetailSerializer(serializers.ModelSerializer): class Meta: model = Workout fields = '__all__' class GetCompleteWorkoutSerializer(serializers.ModelSerializer): workout = WorkoutSerializer(many=False, read_only=True) class Meta: model = CompletedWorkout exclude = ['registered_user']