1. Python / Говнокод #6118

    −181

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    from django.db import models
    
    # Класс Студент
    class Student(models.Model):
        name = models.CharField(max_length=50) # ФИО студента
        group = models.CharField(max_length=10) # Группа студента
        starosta = models.BooleanField(default=False) # Является ли студент старостой группы?
    
    # Класс Пара
    class Pair(models.Model):
        name = models.CharField(max_length=30) # Название пары
        auditory = models.CharField(max_length=7) # Аудитория
        lecturer = models.CharField(max_length=50) # ФИО преподавателя
    
    # Класс День
    class Day(models.Model):
        pair1 = models.ForeignKey(Pair) # Первая пара
        pair2 = models.ForeignKey(Pair) # Вторая пара
        pair3 = models.ForeignKey(Pair) # Третья пара
        pair4 = models.ForeignKey(Pair) # Четвёртая пара
        pair5 = models.ForeignKey(Pair) # Пятая пара
        pair6 = models.ForeignKey(Pair) # Шестая пара
        pair7 = models.ForeignKey(Pair) # Седьмая пара
    
    # Класс Расписание
    class TimeTable(models.Model):
        group = models.CharField(max_length=10) # Группа, к которой относится расписание
        weekcolor = models.BooleanField() # False, 0 - Красная неделя; True, 1 - Синяя неделя
        monday = models.ForeignKey(Day) # Понедельник
        tuesday = models.ForeignKey(Day) # Вторник
        wednesday = models.ForeignKey(Day) # Среда
        thursday = models.ForeignKey(Day) # Четверг
        friday = models.ForeignKey(Day) # Пятница
        saturday = models.ForeignKey(Day) # Суббота

    Очередной шедевр от Magister Yoda

    Попытка сделать модель расписания для студентов.

    Запостил: cutwater, 29 Марта 2011

    Комментарии (8) RSS

    • показать все, что скрыто> Попытка сделать модель расписания для студентов.

      так а где вы собственно видите проблему?

      выглядит как нормальная модель недельного расписания.
      Ответить
      • Как минимум это не расширяемо, не юзабельно и таки говно.
        Ответить
      • А теперь представьте запрос всех пар группы за неделю.
        Ответить
        • показать все, что скрытоникто запросов таких не делает: недельное расписание должно красиво отображатся и печататся. и это в модели сделано.

          главный запрос "показать расписание препода" модель поддерживает. и это приблизительно 100% запросов какие кто либо когда будет делать к такой модели.

          для правильного расписания здесь все равно нехватает предмета урока как объекта. если бы задавались еще и предметы, и веса предметов, и возможные комбинации предметов, а так же моделью поддерживались замены, тогда невозможность сделать выборку была бы говном. а для такой простой модели, отображающей что висит на стене - это в самый раз.
          Ответить
          • Составить запрос всех пар определенного предмета, определенного преподавателя.
            Чтобы вычислить число рабочих часов преподавателя и оптимизировать их эксплуатацию на лекциях в рамках потока.

            Т.к. читать лекции профессору дешевле сразу 5 группам, а практические занятия проводимые аспирантами намного дешевле, в рамках штатного расписния конечно.
            Ответить
    • | Очередной шедевр от Magister Yoda
      Должен составить расписание ты.
      Ответить
      • А в советской России расписание составляет тебя.
        Ответить
    • личные счёты какие-то?
      Ответить

    Добавить комментарий