70 lines
2.5 KiB
Python
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)
|