簡體   English   中英

Django - 數據庫設計

[英]Django - Database design

到目前為止,我有以下數據庫:

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)

現在我的問題是; 我想根據以下標准標記參加活動的學生。 在創建事件時,標記的學生需要為空。 稍后我將創建一個將注冊卡 ID 的視圖。 Card 模型與學生是 1-1 的關系。 學生是多對多課程。 課程是 FK 到 Event。

  • 他們需要參加與活動相關的同一課程。
  • 稍后需要在模型中看到標記的當前學生。

我該怎么做?

如果是我,我可能會使用專用的出勤表(類似於以下內容):

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

您可以將學生字段換成卡片,如果這是您想要的(但因為它是一對一的,所以並不重要)。 也可以交換present字段的默認值,具體取決於您希望如何處理此表中的條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM