diff --git a/api/v1/serializers.py b/api/v1/serializers.py index 8ff6f44a..8ec39b54 100644 --- a/api/v1/serializers.py +++ b/api/v1/serializers.py @@ -27,6 +27,7 @@ class MaterialSerializer(serializers.ModelSerializer): read_only_fields = ( 'id', + 'cover', 'created_at', 'update_at', ) @@ -59,9 +60,9 @@ class CategorySerializer(serializers.ModelSerializer): 'title', ) - read_only_fields = ( - 'id', - ) + read_only_fields = ( + 'id', + ) class CourseSerializer(serializers.ModelSerializer): @@ -97,6 +98,11 @@ class CourseSerializer(serializers.ModelSerializer): ) +class CourseRetrieveSerializer(CourseSerializer): + category = CategorySerializer() + materials = MaterialSerializer(many=True) + + class LessonSerializer(serializers.ModelSerializer): class Meta: diff --git a/api/v1/views.py b/api/v1/views.py index 744e7b13..97ff71de 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -15,6 +15,7 @@ from .serializers import ( UserSerializer, UserPhotoSerializer, LessonSerializer, ContentImageSerializer, GalleryImageSerializer, CoverImageSerializer, + CourseRetrieveSerializer, ) from .permissions import IsAdmin, IsAdminOrIsSelf, IsAuthorOrAdmin, IsAuthorObjectOrAdmin @@ -59,6 +60,8 @@ class CourseViewSet(ExtendedModelViewSet): ).all() serializer_class = CourseSerializer serializer_class_map = { + 'list': CourseRetrieveSerializer, + 'retrieve': CourseRetrieveSerializer, 'upload_photo': CoverImageSerializer, } filter_fields = ('category', 'status', 'is_infinite', 'is_featured',)