- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 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) # Суббота
Dummy00001 29.03.2011 15:31 # −7
так а где вы собственно видите проблему?
выглядит как нормальная модель недельного расписания.
cutwater 29.03.2011 15:39 # +2
turdman 29.03.2011 15:40 # +5
Dummy00001 29.03.2011 16:14 # −5
главный запрос "показать расписание препода" модель поддерживает. и это приблизительно 100% запросов какие кто либо когда будет делать к такой модели.
для правильного расписания здесь все равно нехватает предмета урока как объекта. если бы задавались еще и предметы, и веса предметов, и возможные комбинации предметов, а так же моделью поддерживались замены, тогда невозможность сделать выборку была бы говном. а для такой простой модели, отображающей что висит на стене - это в самый раз.
fatdevil 29.03.2011 23:04 # +2
Чтобы вычислить число рабочих часов преподавателя и оптимизировать их эксплуатацию на лекциях в рамках потока.
Т.к. читать лекции профессору дешевле сразу 5 группам, а практические занятия проводимые аспирантами намного дешевле, в рамках штатного расписния конечно.
RaZeR 29.03.2011 16:59 # +3
Должен составить расписание ты.
eth0 29.03.2011 18:29 # +3
guest 29.04.2011 13:59 # 0