AnnBenavides / Coins

Calculador de compra restringida para el curso [FM307] Innovación y Tecnologia de EdV
MIT License
1 stars 1 forks source link

DB002 Horario #16

Closed AnnBenavides closed 6 years ago

AnnBenavides commented 6 years ago

horario (usuario.id, dia.id)

Cada profesor tiene un horario con dias

dia(id, diaYnumero, usuario.id, bloque.id)

cada día consta de bloques , diaYnumero es el escrito del día (ej. "Lunes 14")

bloques (id, usuario.id, dia.id, nroBloque.nro, estado, valor, grupo.nro)

key: usuario.id, dia.id, nro

nroBloque (nro, horas)

horas es el escrito del lapso de horas correspondiente al número de bloque (ej. "16:00 - 16:15")

AnnBenavides commented 6 years ago
class Bloque(models.Model):
    ESTADOS =(
        ('P','Presente'),
        ('A','Ausente'),
        ('C','Comprado'))
    NRO = (
        ('1','08:00 - 08:15'),
        ('2','08:15 - 08:30'),
        ('3','08:30 - 08:45'),
        ('4','08:45 - 09:00'),
        ('5','09:00 - 09:15'),
        ('6','09:15 - 09:30'),
        ('7','09:30 - 09:45'),
        ('8','09:45 - 10:00'),
        ('9','10:00 - 10:15'),
        ('10','10:15 - 10:30'),
        ('11','10:30 - 10:45'),
        ('12','10:45 - 11:00'),
        ('13','11:00 - 11:15'),
        ('14','11:15 - 11:30'),
        ('15','11:30 - 11:45'),
        ('16','11:45 - 12:00'),
        ('17','12:00 - 12:15'),
        ('18','12:15 - 12:30'),
        ('19','12:30 - 12:45'),
        ('20','12:45 - 13:00'),
        ('21','14:00 - 14:15'),
        ('22','14:15 - 14:30'),
        ('23','14:30 - 14:45'),
        ('24','14:45 - 15:00'),
        ('25','15:00 - 15:15'),
        ('26','15:15 - 15:30'),
        ('27','15:30 - 15:45'),
        ('28','15:45 - 16:00'),
        ('29','16:00 - 16:15'),
        ('30','16:15 - 16:30'),
        ('31','16:30 - 16:45'),
        ('32','16:45 - 17:00'),
        ('33','17:00 - 17:15'),
        ('34','17:15 - 17:30'),
        ('35','17:30 - 17:45'),
        ('36','17:45 - 18:00'),
        )
    id = models.AutoField()
    profesor = models.ForeignKey(Profesor)
    nroBloque = models.CharField(max_length=1,choices=NRO,default='1')
    estado = modesl.CharField(max_length=1,choices=ESTADOS,default='A')
    valor = models.IntegerField(default='1')
    grupo = models.ForeignKey(Grupo, blank=True)

    def __str__(self):
        return profesor+':'+get_nroBloque_display()

class DiaHorario(models.Model):
    DIAS = (
        ('17','Mie 17'),
        ('18','Jue 18'),
        ('19','Vie 19'),
        ('22','Lun 22'),
        ('23','Mar 23'),
        ('24','Mie 24'),
        ('25','Jue 25'),
        ('26','Vie 26'),
        )
    dia = models.CharField(max_length=1,choices=DIAS)
    profesor = models.ForeignKey(Profesor)
    bloque = models.ForeignKey(Bloque)

    def __str__(self):
        return get_dia_display()+': '+bloque

class Horario(models.Model):
    profesor = models.ForeignKey(Profesor)
    dia = models.ForeignKey(DiaHorario)

    def __str__(self):
        return 'Horario '+profesor