from rest_framework import viewsets from . import ExtendedModelViewSet from .serializers import ( CategorySerializer, CourseSerializer, MaterialSerializer, LikeSerializer, ) from apps.course.models import Category, Course, Material, Like class MaterialViewSet(ExtendedModelViewSet): queryset = Material.objects.all() serializer_class = MaterialSerializer class LikeViewSet(ExtendedModelViewSet): queryset = Like.objects.select_related('user').all() serializer_class = LikeSerializer class CategoryViewSet(ExtendedModelViewSet): queryset = Category.objects.all() serializer_class = CategorySerializer class CourseViewSet(ExtendedModelViewSet): queryset = Course.objects.select_related( 'author', 'category' ).prefetch_related( 'likes', 'materials' ).all() serializer_class = CourseSerializer filter_fields = ('category',)