暫無描述

models.py 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. from django.db import models
  2. # Create your models here.
  3. class Promotion(models.Model):
  4. number=models.IntegerField("Numéro")
  5. def __str__(self):
  6. return "X%s" % (self.number,)
  7. class Meta:
  8. verbose_name = "Promotion"
  9. class Amphi(models.Model):
  10. name=models.CharField("Nom",max_length=60)
  11. capacity=models.IntegerField("Capacité")
  12. def __str__(self):
  13. return "%s" % (self.name,)
  14. class Meta:
  15. verbose_name = "Amphithéâtre"
  16. class Course(models.Model):
  17. name=models.CharField("Nom",max_length=60)
  18. promotion=models.ForeignKey(Promotion,verbose_name="Promotion")
  19. enrolled=models.IntegerField("Nombre d'inscrits")
  20. def __str__(self):
  21. return "%s (%s)" % (self.name,self.promotion)
  22. class Meta:
  23. verbose_name = "Cours"
  24. verbose_name_plural = "Cours"
  25. class Professor(models.Model):
  26. name=models.CharField("Nom",max_length=100)
  27. def __str__(self):
  28. return "%s" % (self.name,)
  29. class Meta:
  30. verbose_name = "Professeur"
  31. class Lesson(models.Model):
  32. course=models.ForeignKey(Course)
  33. date=models.DateField("Date")
  34. number=models.IntegerField("Numéro de la séance",blank=True,null=True)
  35. professor=models.ForeignKey(Professor,verbose_name="Professeur",blank=True,null=True)
  36. amphi=models.ForeignKey(Amphi,verbose_name="Amphithéâtre")
  37. title=models.CharField("Titre",max_length=140,blank=True,null=True)
  38. def __str__(self):
  39. if ((self.number is not None) & (self.title is not None)):
  40. return "%s %s : %s (%s,%s)" % (self.course.name,self.number,self.title,self.course.promotion,self.date)
  41. elif (self.number is not None):
  42. return "%s %s (%s,%s)" % (self.course.name,self.number,self.course.promotion,self.date)
  43. elif (self.title is not None):
  44. return "%s : %s (%s,%s)" % (self.course.name,self.title,self.course.promotion,self.date)
  45. else:
  46. return "%s (%s,%s)" % (self.course.name,self.course.promotion,self.date)
  47. class Meta:
  48. verbose_name = "Séance"
  49. class Count(models.Model):
  50. lesson=models.ForeignKey(Lesson,verbose_name="Séance")
  51. census=models.IntegerField("Nombre d'éléves présents")
  52. date=models.DateTimeField("Soumis le",auto_now="True")
  53. comment=models.TextField("Commentaires")
  54. signature=models.CharField("signature",max_length=120)
  55. def __str__(self):
  56. return "%s : %s/%s" % (self.lesson,self.census,self.lesson.course.enrolled)
  57. class Meta:
  58. verbose_name = "Comptage"