from rest_framework import serializers from .models import TrainingTemplate, TemplateExercise class TemplateExerciseSerializer(serializers.ModelSerializer): exercise_name = serializers.CharField(source='exercise.name', read_only=True) class Meta: model = TemplateExercise fields = '__all__' class TrainingTemplateSerializer(serializers.ModelSerializer): exercises = TemplateExerciseSerializer(many=True, source='templateexercise_set', read_only=True) exercise_count = serializers.SerializerMethodField() class Meta: model = TrainingTemplate fields = '__all__' read_only_fields = ['created_at', 'updated_at'] def get_exercise_count(self, obj): return obj.templateexercise_set.count() def create(self, validated_data): request = self.context.get('request') if request and hasattr(request.user, 'profile') and request.user.profile.club: validated_data['club'] = request.user.profile.club return super().create(validated_data)