phase3: add normalized domain schema, admin, services, and multistage docker build

This commit is contained in:
Alfredo Di Stasio
2026-03-10 10:39:45 +01:00
parent f47ffe6c15
commit fc7289a343
30 changed files with 1548 additions and 3 deletions

60
apps/players/admin.py Normal file
View File

@ -0,0 +1,60 @@
from django.contrib import admin
from .models import Nationality, Player, PlayerAlias, PlayerCareerEntry, Position, Role
@admin.register(Nationality)
class NationalityAdmin(admin.ModelAdmin):
list_display = ("name", "iso2_code", "iso3_code")
search_fields = ("name", "iso2_code", "iso3_code")
@admin.register(Position)
class PositionAdmin(admin.ModelAdmin):
list_display = ("code", "name")
search_fields = ("code", "name")
@admin.register(Role)
class RoleAdmin(admin.ModelAdmin):
list_display = ("code", "name")
search_fields = ("code", "name")
class PlayerAliasInline(admin.TabularInline):
model = PlayerAlias
extra = 0
class PlayerCareerEntryInline(admin.TabularInline):
model = PlayerCareerEntry
extra = 0
@admin.register(Player)
class PlayerAdmin(admin.ModelAdmin):
list_display = (
"full_name",
"birth_date",
"nationality",
"nominal_position",
"inferred_role",
"is_active",
)
list_filter = ("is_active", "nationality", "nominal_position", "inferred_role")
search_fields = ("full_name", "first_name", "last_name")
inlines = (PlayerAliasInline, PlayerCareerEntryInline)
@admin.register(PlayerAlias)
class PlayerAliasAdmin(admin.ModelAdmin):
list_display = ("alias", "player", "source", "is_primary")
list_filter = ("is_primary", "source")
search_fields = ("alias", "player__full_name")
@admin.register(PlayerCareerEntry)
class PlayerCareerEntryAdmin(admin.ModelAdmin):
list_display = ("player", "team", "competition", "season", "start_date", "end_date")
list_filter = ("competition", "season", "role_snapshot")
search_fields = ("player__full_name", "team__name", "competition__name")