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
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user