diff --git a/api/v1/serializers.py b/api/v1/serializers.py index e6d939de..96630f50 100644 --- a/api/v1/serializers.py +++ b/api/v1/serializers.py @@ -74,7 +74,7 @@ class GalleryImageSerializer(GalleryImageCreateSerializer): img = ImageObjectSerializer() -class MaterialSerializer(serializers.ModelSerializer): +class MaterialCreateSerializer(serializers.ModelSerializer): class Meta: model = Material @@ -89,12 +89,15 @@ class MaterialSerializer(serializers.ModelSerializer): read_only_fields = ( 'id', - 'cover', 'created_at', 'update_at', ) +class MaterialSerializer(MaterialCreateSerializer): + cover = ImageObjectSerializer() + + class LikeSerializer(serializers.ModelSerializer): class Meta: diff --git a/api/v1/views.py b/api/v1/views.py index 6f293576..db87e030 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -7,9 +7,9 @@ from rest_framework.response import Response from . import ExtendedModelViewSet from .serializers import ( - CategorySerializer, + CategorySerializer, LikeSerializer, CourseSerializer, CourseCreateSerializer, - MaterialSerializer, LikeSerializer, + MaterialSerializer, MaterialCreateSerializer, ImageSerializer, ImageCreateSerializer, TextSerializer, TextCreateSerializer, ImageTextSerializer, ImageTextCreateSerializer, @@ -39,7 +39,11 @@ class ImageObjectViewSet(ExtendedModelViewSet): class MaterialViewSet(ExtendedModelViewSet): queryset = Material.objects.all() - serializer_class = MaterialSerializer + serializer_class = MaterialCreateSerializer + serializer_class_map = { + 'list': MaterialSerializer, + 'retrieve': MaterialSerializer, + } search_fields = ('title', 'short_description',) ordering_fields = ('title', 'created_at', 'update_at',) # permission_classes = (IsAdmin,)