From d2c9a857b6002e2998f522286d5d1d803f966a92 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Mon, 5 Feb 2018 12:58:50 +0300 Subject: [PATCH] LIL-184. Add serializer, viewset, route for Category model --- api/v1/serializers.py | 16 +++++++++++++++- api/v1/urls.py | 3 ++- api/v1/views.py | 9 +++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/api/v1/serializers.py b/api/v1/serializers.py index 4529c7dc..ea6465f9 100644 --- a/api/v1/serializers.py +++ b/api/v1/serializers.py @@ -1,6 +1,20 @@ from rest_framework import serializers -from apps.course.models import Course +from apps.course.models import Category, Course + + +class CategorySerializer(serializers.ModelSerializer): + + class Meta: + model = Category + fields = ( + 'id', + 'title', + ) + + read_only_fields = ( + 'id', + ) class CourseSerializer(serializers.ModelSerializer): diff --git a/api/v1/urls.py b/api/v1/urls.py index f920c403..1d6feefc 100644 --- a/api/v1/urls.py +++ b/api/v1/urls.py @@ -6,10 +6,11 @@ from rest_framework.routers import DefaultRouter from drf_yasg.views import get_schema_view from drf_yasg import openapi -from .views import CourseViewSet +from .views import CategoryViewSet, CourseViewSet router = DefaultRouter() router.register(r'courses', CourseViewSet, base_name='courses') +router.register(r'categories', CategoryViewSet, base_name='categories') schema_view = get_schema_view( diff --git a/api/v1/views.py b/api/v1/views.py index d7f51465..2d543d55 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -1,9 +1,14 @@ from rest_framework import viewsets -from .serializers import CourseSerializer +from .serializers import CategorySerializer, CourseSerializer from . import ExtendedModelViewSet -from apps.course.models import Course +from apps.course.models import Category, Course + + +class CategoryViewSet(ExtendedModelViewSet): + queryset = Category.objects.all() + serializer_class = CategorySerializer class CourseViewSet(ExtendedModelViewSet):