You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

38 lines
1.4 KiB

from django.db import models
from reymotausers.models import ReyMotaUser
from django.utils import timezone
class Evento(models.Model):
nombre = models.CharField(max_length=100)
descripcion = models.TextField()
fecha = models.DateTimeField()
hora = models.TimeField(default=timezone.now) # Nuevo campo para la hora
plazas_disponibles = models.PositiveIntegerField()
publicado = models.BooleanField(default=False) # Nuevo campo para la publicación
def __str__(self):
return self.nombre
def plazas_restantes(self):
return self.plazas_disponibles - self.reservas.count()
class Reserva(models.Model):
evento = models.ForeignKey(
Evento, related_name="reservas", on_delete=models.CASCADE)
usuario = models.ForeignKey(ReyMotaUser, on_delete=models.CASCADE)
fecha_reserva = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f'{self.usuario.nombre} - {self.evento.nombre}'
class ListaEspera(models.Model):
evento = models.ForeignKey(Evento, on_delete=models.CASCADE, related_name="lista_espera")
usuario = models.ForeignKey(ReyMotaUser, on_delete=models.CASCADE)
fecha_apuntado = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f'{self.usuario.nombre} en lista de espera para {self.evento.nombre}. Solicitada plaza el: {self.fecha_apuntado}'