From 5a3093be5193b79ad120e1e6eeb249491f7119ec Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 28 Nov 2019 15:19:13 +0300 Subject: [PATCH] content type get api --- apps/main/serializers.py | 9 +++++++++ apps/main/urls/back.py | 1 + apps/main/views/back.py | 17 +++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/apps/main/serializers.py b/apps/main/serializers.py index 572aff31..256333b4 100644 --- a/apps/main/serializers.py +++ b/apps/main/serializers.py @@ -1,4 +1,5 @@ """Main app serializers.""" +from django.contrib.contenttypes.models import ContentType from rest_framework import serializers from location.serializers import CountrySerializer @@ -216,3 +217,11 @@ class PageTypeBaseSerializer(serializers.ModelSerializer): 'id', 'name', ] + + +class ContentTypeBackSerializer(serializers.ModelSerializer): + """Serializer fro model ContentType.""" + + class Meta: + model = ContentType + fields = '__all__' diff --git a/apps/main/urls/back.py b/apps/main/urls/back.py index d92bddf8..8424d236 100644 --- a/apps/main/urls/back.py +++ b/apps/main/urls/back.py @@ -8,4 +8,5 @@ app_name = 'main' urlpatterns = [ path('awards/', views.AwardLstView.as_view(), name='awards-list-create'), path('awards//', views.AwardRUDView.as_view(), name='awards-rud'), + path('content_type/', views.ContentTypeView.as_view(), name='content_type-list'), ] diff --git a/apps/main/views/back.py b/apps/main/views/back.py index bbbfad53..5d82d88a 100644 --- a/apps/main/views/back.py +++ b/apps/main/views/back.py @@ -1,3 +1,5 @@ +from django.contrib.contenttypes.models import ContentType +from django_filters.rest_framework import DjangoFilterBackend from rest_framework import generics, permissions from main import serializers @@ -19,3 +21,18 @@ class AwardRUDView(generics.RetrieveUpdateDestroyAPIView): serializer_class = serializers.BackAwardSerializer permission_classes = (permissions.IsAdminUser,) lookup_field = 'id' + + +class ContentTypeView(generics.ListAPIView): + """ContentType list view""" + queryset = ContentType.objects.all() + serializer_class = serializers.ContentTypeBackSerializer + permission_classes = (permissions.IsAdminUser,) + filter_backends = (DjangoFilterBackend, ) + ordering_fields = '__all__' + lookup_field = 'id' + filterset_fields = ( + 'id', + 'model', + 'app_label', + )