feat(v2): implement scoped player search and detail flows

This commit is contained in:
Alfredo Di Stasio
2026-03-13 14:10:39 +01:00
parent eacff3d25e
commit 6fc583c79f
10 changed files with 137 additions and 129 deletions

View File

@ -7,7 +7,7 @@ from apps.scouting.models import FavoritePlayer
from apps.stats.models import PlayerSeason
from .forms import PlayerSearchForm
from .models import Player, PlayerCareerEntry
from .models import Player
from .services.search import (
SEARCH_METRIC_SEMANTICS_TEXT,
annotate_player_metrics,
@ -92,12 +92,6 @@ class PlayerDetailView(DetailView):
"competition",
"stats",
).order_by("-season__start_date", "-id")
career_queryset = PlayerCareerEntry.objects.select_related(
"team",
"competition",
"season",
"role_snapshot",
).order_by("-start_date", "-id")
return (
Player.objects.select_related(
@ -108,9 +102,7 @@ class PlayerDetailView(DetailView):
"origin_team",
)
.prefetch_related(
"aliases",
Prefetch("player_seasons", queryset=season_queryset),
Prefetch("career_entries", queryset=career_queryset),
)
)
@ -146,7 +138,6 @@ class PlayerDetailView(DetailView):
context["age"] = calculate_age(player.birth_date)
context["current_assignment"] = current_assignment
context["career_entries"] = player.career_entries.all()
context["season_rows"] = season_rows
context["is_favorite"] = False
if self.request.user.is_authenticated: