3fefc550fe
- 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
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
from .models import TrainingLogEntry
|
|
|
|
|
|
class TrainingLogEntrySerializer(serializers.ModelSerializer):
|
|
wrestler_name = serializers.CharField(source='wrestler.__str__', read_only=True)
|
|
exercise_name = serializers.CharField(source='exercise.name', read_only=True)
|
|
training_date = serializers.DateField(source='training.date', read_only=True)
|
|
|
|
class Meta:
|
|
model = TrainingLogEntry
|
|
fields = [
|
|
'id', 'wrestler', 'wrestler_name', 'training', 'training_date',
|
|
'exercise', 'exercise_name', 'reps', 'sets', 'time_minutes',
|
|
'weight_kg', 'rating', 'notes', 'logged_at', 'created_at'
|
|
]
|
|
|
|
|
|
class TrainingLogStatsSerializer(serializers.Serializer):
|
|
total_entries = serializers.IntegerField()
|
|
unique_exercises = serializers.IntegerField()
|
|
total_reps = serializers.IntegerField()
|
|
avg_sets = serializers.FloatField()
|
|
avg_rating = serializers.FloatField()
|
|
this_week = serializers.IntegerField()
|
|
top_exercises = serializers.ListField(child=serializers.DictField())
|
|
progress = serializers.DictField()
|