Files
WrestleDesk/backend/templates/serializers.py
T
Andrej Spielmann 3fefc550fe Initial commit: WrestleDesk full project
- Django backend with DRF (clubs, wrestlers, trainers, exercises, templates, trainings, homework, locations, leistungstest)
- Next.js 16 frontend with React, Shadcn UI, Tailwind
- JWT authentication
- Full CRUD for all entities
- Calendar view for trainings
- Homework management system
- Leistungstest tracking
2026-03-26 13:24:57 +01:00

30 lines
1.0 KiB
Python

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)