【发布时间】:2019-07-15 18:39:11
【问题描述】:
我有以下课程目录模型:
- 部门
- 课程
- 课程实例
- 课程实例时间
CourseInstance 是“课程”的运行,它是课程目录中的一个条目。每门课程都有一个指向它所属的Department 的外键。一周内的每次课程会议都存储在CourseInstanceTime 中。以下简化模型:
class Department(models.Model):
"""Academic Department"""
name = models.CharField(max_length=30, unique=True)
class Course(models.Model):
"""Courses in the course catalog"""
course_name = models.CharField(max_length=30, unique=True)
department = models.ForeignKey(Department, on_delete=models.PROTECT)
course_number = models.DecimalField(decimal_places=0, max_digits=3, unique=True)
class Meta:
unique_together = (("department", "course_number"),)
class CourseInstance(models.Model):
"""A Scheduled running of a particular coursee"""
start_date = models.DateField(help_text='Course Start Date', verbose_name='Start Date')
end_date = models.DateField(help_text='Course Start Date', verbose_name='Start Date')
course = models.ForeignKey(Course, on_delete=models.deletion.CASCADE)
class CourseInstanceTime(models.Model):
day = models.CharField(max_length=3)
start_time = models.TimeField()
end_time = models.TimeField()
course_instance = models.ForeignKey(CourseInstance, on_delete=models.deletion.CASCADE)
我想创建一个包含部门名称的CourseInstance 视图集。我可以使用SlugField 来包含课程编号,如下所示:
类 CourseInstanceSerializer(serializers.ModelSerializer): 当然=序列化程序.SlugRelatedField( 许多=错误, 只读 = 假, slug_field = 'course_number', queryset = models.Course.objects.all() )
class Meta:
model = models.Course
fields = (
'id',
#'department',
'course',
'start_date',
'end_date',
)
我不知道如何做到这一点。
【问题讨论】: