查询所有章节接口(要显示章节下的所有课时)
1 序列化类
serializer.py
class CourseSectionSerializer(serializers.ModelSerializer): #用于子序列化
class Meta:
model = CourseSection
fields = ['id', 'name', 'orders', 'section_link', 'duration', 'free_trail']
class CourseChapterSerializer(serializers.ModelSerializer):
class Meta:
model = CourseChapter
fields = ['id', 'name', 'coursesections']
# 子序列化,注意many=True
# 方式一:
coursesections = CourseSectionSerializer(many=True)
# 方式二:
# coursesections=serializers.SerializerMethodField()
# def get_coursesections(self,obj):
# return []
# 方式三:写在models中
视图类
# 课程章节接口
class CourseChapterView(GenericViewSet, ListModelMixin):
# 查询所有章节
# 按课程过滤功能
queryset = CourseChapter.objects.all()
serializer_class = CourseChapterSerializer
filter_backends = [DjangoFilterBackend]
filter_fields = ('course',)
路由
router.register('course_chapter', views.CourseChapterView, 'course_chapter')
![]()