G26-Telemetry-Software/Plataform_Web/temporadas/models.py
2026-02-17 13:39:49 +01:00

30 lines
No EOL
1.2 KiB
Python

from django.db import models
class Temporada(models.Model):
# El nombre será algo como "Gades 2024-25"
nombre = models.CharField(max_length=50, unique=True)
fecha_inicio = models.DateField()
fecha_fin = models.DateField()
# Presupuesto total para ese año
presupuesto = models.DecimalField(max_digits=10, decimal_places=2, default=0.00)
# Checkbox para marcar cuál es la temporada que estamos viviendo ahora
actual = models.BooleanField(default=False, verbose_name="¿Es la temporada actual?")
class Meta:
# Esto es para que en el panel salga "Temporadas" y no "Temporadas"
verbose_name = "Temporada"
verbose_name_plural = "Temporadas"
ordering = ['-fecha_inicio'] # Ordena las más nuevas primero
def __str__(self):
return self.nombre
def save(self, *args, **kwargs):
# TRUCO PRO: Si marco esta temporada como "actual", desmarco todas las demás
# Así evitamos que haya dos temporadas activas a la vez.
if self.actual:
Temporada.objects.filter(actual=True).exclude(pk=self.pk).update(actual=False)
super().save(*args, **kwargs)