colles.mp2i-vms.fr/colloscope/models.py

70 lines
2.5 KiB
Python

from django.db import models
class Lycee(models.Model):
uai = models.CharField(max_length=10)
libelle = models.CharField(max_length=100)
vacances = models.CharField(max_length=1)
class Classe(models.Model):
lycee = models.ForeignKey(Lycee, on_delete=models.CASCADE)
libelle = models.CharField(max_length=20)
annee = models.IntegerField()
jour_zero = models.DateField()
class Periode(models.Model):
classe = models.ForeignKey(Classe, on_delete=models.CASCADE)
libelle = models.CharField(max_length=100)
debut = models.DateField()
fin = models.DateField()
class Matiere(models.Model):
libelle = models.CharField(max_length=100)
code = models.CharField(max_length=20)
class Groupe(models.Model):
classe = models.ForeignKey(Classe, on_delete=models.CASCADE)
libelle = models.CharField(max_length=100)
class Etudiant(models.Model):
classe = models.ForeignKey(Classe, on_delete=models.CASCADE)
prenom = models.CharField(max_length=100)
nom = models.CharField(max_length=100)
#lv1 = models.ForeignKey(Matiere, on_delete=models.CASCADE)
#lv2 = models.ForeignKey(Matiere, on_delete=models.CASCADE)
groupes = models.ManyToManyField(Groupe)
class Colleur(models.Model):
civilite = models.CharField(max_length=1)
nom = models.CharField(max_length=100)
class Creneau(models.Model):
classe = models.ForeignKey(Classe, on_delete=models.CASCADE)
jour = models.IntegerField()
heure = models.TimeField()
duree = models.DurationField()
salle = models.CharField(max_length=20)
periode = models.ForeignKey(Periode, on_delete=models.CASCADE)
matiere = models.ForeignKey(Matiere, on_delete=models.CASCADE)
colleur = models.ForeignKey(Colleur, on_delete=models.CASCADE)
est_colle = models.BooleanField()
capacite = models.IntegerField()
class Rotation(models.Model):
creneau = models.ForeignKey(Creneau, on_delete=models.CASCADE)
groupes = models.ManyToManyField(Groupe)
semaine = models.IntegerField()
class Amendement(models.Model):
est_positif = models.BooleanField()
rotation = models.ForeignKey(Rotation, on_delete=models.CASCADE)
etudiant = models.ForeignKey(Etudiant, on_delete=models.CASCADE)
class Utilisateur(models.Model):
username = models.CharField(max_length=100)
password = models.CharField(max_length=300)
timestamp = models.DateTimeField(auto_now_add=True)
etudiant = models.ForeignKey(Etudiant, on_delete=models.DO_NOTHING, null=True)
colleur = models.ForeignKey(Colleur, on_delete=models.DO_NOTHING, null=True)