【发布时间】:2019-05-22 17:30:52
【问题描述】:
我正在 Django 中创建一个小应用程序,我需要在其中维护不同课程的培训批次的详细信息。这些批次中的每一个都有一个要涵盖的主题列表。例如,python 课程可以由不同学院的不同培训师同时进行,因此他们都有自己的主题列表。以下是我想出的,但认为我错了。我对如何去做感到困惑。请提出正确的方法。
到目前为止我的模型,
class Course(models.Model):
name = models.CharField(max_length=50, default="Enter Course Name")
class Trainer(models.Model):
name = models.CharField(max_length=50, default="Enter Trainer Name")
class College(models.Model):
name = models.CharField(max_length=50, default="Enter College Name")
class CourseBatch(models.Model):
startDate = models.DateField(null = True, blank = True)
endDate = models.DateField(null = True, blank = True)
batchName = models.CharField(max_length=50, default="Enter Batch Name")
course = models.ForeignKey(Course, on_delete=models.CASCADE, related_name="course")
trainer = models.ForeignKey(Trainer, on_delete=models.CASCADE, related_name="trainer")
college = models.ForeignKey(College, on_delete=models.CASCADE, related_name="college")
class CheckPoints(models.Model):
description = models.CharField(max_length=50, default="Enter Description")
chkPoint = models.BooleanField(default=False)
course = models.ForeignKey(Course, on_delete=models.CASCADE, related_name="course")
class ChkListForBatch(models.Model):
batch = models.ForeignKey(CourseBatch, on_delete=models.CASCADE, related_name="coursebatch")
chkpoint = models.ForeignKey(CheckPoints, on_delete=models.CASCADE, related_name="chkpoint")
这里每个 CourseBatch 都需要有自己的一组检查点(主题)来涵盖。我该如何实现呢?
【问题讨论】:
-
为什么 CourseBatch 和 CheckPoints 之间没有 ForeignKey 关系?
-
我对此感到困惑,因为我希望将多个检查点与单个课程批次相关联。它们也应该保存为不同的对象。如果我有外键关系,我可以关联单个检查点,但不能关联多个。这就是我创建 ChkListForBatch 的原因。让我知道你的想法。
-
我添加了答案,我在带有 cmets 的 CheckPoints 模型中添加了两个字段。祝你好运。
标签: django django-models