Lil-212, LIL-213. Add serializer, viewset, route for Material & Like models

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 7ed07fef28
commit 43582f40a4
  1. 40
      api/v1/serializers.py
  2. 7
      api/v1/urls.py
  3. 17
      api/v1/views.py

@ -1,6 +1,44 @@
from rest_framework import serializers
from apps.course.models import Category, Course
from apps.course.models import Category, Course, Material, Like
class MaterialSerializer(serializers.ModelSerializer):
class Meta:
model = Material
fields = (
'id',
'title',
'cover',
'short_description',
'created_at',
'update_at',
)
read_only_fields = (
'id',
'created_at',
'update_at',
)
class LikeSerializer(serializers.ModelSerializer):
class Meta:
model = Like
fields = (
'id',
'user',
'created_at',
'update_at',
)
read_only_fields = (
'id',
'created_at',
'update_at',
)
class CategorySerializer(serializers.ModelSerializer):

@ -6,11 +6,16 @@ from rest_framework.routers import DefaultRouter
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from .views import CategoryViewSet, CourseViewSet
from .views import (
CategoryViewSet, CourseViewSet,
MaterialViewSet, LikeViewSet,
)
router = DefaultRouter()
router.register(r'courses', CourseViewSet, base_name='courses')
router.register(r'categories', CategoryViewSet, base_name='categories')
router.register(r'materials', MaterialViewSet, base_name='materials')
router.register(r'likes', LikeViewSet, base_name='likes')
schema_view = get_schema_view(

@ -1,9 +1,22 @@
from rest_framework import viewsets
from .serializers import CategorySerializer, CourseSerializer
from . import ExtendedModelViewSet
from .serializers import (
CategorySerializer, CourseSerializer,
MaterialSerializer, LikeSerializer,
)
from apps.course.models import Category, Course
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):

Loading…
Cancel
Save