from django.contrib import admin from .models import Tournament, Registration, Round, Match class RegistrationInline(admin.TabularInline): model = Registration fk_name = 'tournament' # 👈 Wichtig: Explizite Rückverknüpfung zum Elternmodell extra = 0 @admin.register(Tournament) class TournamentAdmin(admin.ModelAdmin): list_display = ('name', 'date', 'participant_count') search_fields = ('name',) inlines = [RegistrationInline] def participant_count(self, obj): return obj.registrations.count() participant_count.short_description = "Teilnehmer" class MatchInline(admin.TabularInline): model = Match fk_name = 'round_detail' # 👈 Wichtig: Explizite Rückverknüpfung zur Runde extra = 0 @admin.register(Round) class RoundAdmin(admin.ModelAdmin): list_display = ('tournament', 'round_number') inlines = [MatchInline] @admin.register(Match) class MatchAdmin(admin.ModelAdmin): list_display = ('round_detail', 'player_white', 'player_black', 'result') list_filter = ('result', 'round_detail__tournament')