Files
WerkoutAPI/workout/serializers.py
Trey t a2fd663255 init commit
init commit
2023-06-11 20:09:22 -05:00

45 lines
1.5 KiB
Python

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']