Django模型:foriegn键或字段中的多个数据

时间:2016-10-07 07:57:53

标签: django model

实际上,这个问题让我困惑了很长时间。

说,我有两个模型,CourseCourseDate,如下所示:

class Course(models.Model):
    name = model.CharField()

class CourseDate(models.Model):
    course = modelds.ForienKey(Course)
    date = models.DateField()

其中CourseDate是特定课程的日期。

我还可以按如下方式定义Course并弃掉CourseDate

class Course(models.Model):
    name = models.CharField()
    dates = models.CharField()

其中dates字段包含由字符串表示的日期。例如:

dates = '2016-10-1,2016-10-12,2016-10-30'

我不知道第二种解决方案是否有点“作弊”。那么,哪一个更好?

1 个答案:

答案 0 :(得分:2)

我不知道作弊行为,但这肯定违背了良好的数据库设计。更重要的是,它阻止您在该字段上进行几乎所有类型的有用查询。如果您想知道在特定日期的两天内有所有日期的课程怎么办?使用解决方案2几乎不可能做到这一点,但使用解决方案1则很简单。