Джанго - Дизайн базы данных - PullRequest
0 голосов
/ 03 ноября 2018

У меня пока есть следующая база данных:

Person model
Student model inherits from Person, no added functionality
Lecturer model same as Student
Course model 
     leader = ForeignKey to Lecturer (1 Lecturer can have many courses)
     students = ManytoMany with Student (Many students can take many courses)
Card model
     student = OneToOne with student (1 card per 1 student).
Event model
     course = ForeignKey to Course (One course can have many events)

Теперь мой вопрос; Я хочу отметить присутствующих на мероприятии студентов на основе следующих критериев. При создании события помеченные студенты должны быть пустыми. Позже я создам представление, в котором будет зарегистрирован идентификатор карты. Карточная модель имеет отношения 1-1 со студентом. Студент много-много с курсом. Курс FK к событию.

  • Они должны быть частью того же курса, к которому подключено Событие.
  • Отмеченные присутствующие студенты должны быть видны внутри модели позже.

Как мне это сделать?

1 Ответ

0 голосов
/ 03 ноября 2018

Если бы это был я, я мог бы использовать выделенную таблицу посещаемости (что-то вроде следующего):

class Attendance(Model):
    student = models.ForeignKey('Student')
    event = models.ForeignKey('Event')
    present = models.BooleanField(default=True)

Вместо этого вы можете поменять поле студента на Карту, если вы этого хотите (но поскольку это один-к-одному, это не имеет значения). Значение по умолчанию для поля present также можно поменять местами, в зависимости от того, как вы хотите обрабатывать записи в этой таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...