Update language endpoing

This commit is contained in:
evgeniy-st 2019-08-19 17:00:14 +03:00
parent d87b9ca2d1
commit 12b864c78e
3 changed files with 19 additions and 38 deletions

View File

@ -1,3 +1,4 @@
"""Translation app models."""
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@ -25,6 +26,8 @@ class Language(models.Model):
objects = LanguageQuerySet.as_manager() objects = LanguageQuerySet.as_manager()
class Meta: class Meta:
"""Meta class."""
verbose_name = _('Language') verbose_name = _('Language')
verbose_name_plural = _('Languages') verbose_name_plural = _('Languages')

View File

@ -5,14 +5,8 @@ from translation import views
app_name = 'translation' app_name = 'translation'
urlpatterns = [ urlpatterns = [
path('language/', views.LanguageListView.as_view(), path('language/', views.LanguageListCreateView.as_view(),
name='language_list'), name='languages'),
path('language/create/', views.LanguageCreateView.as_view(), path('language/<int:pk>/', views.LanguageRetrieveUpdateDestroyView.as_view(),
name='language_create'), name='language'),
path('language/<int:pk>/update/', views.LanguageUpdateView.as_view(),
name='language_update'),
path('language/<int:pk>/destroy/', views.LanguageDestroyView.as_view(),
name='language_destroy'),
path('language/<int:pk>/', views.LanguageRetrieveView.as_view(),
name='language_retrieve'),
] ]

View File

@ -1,40 +1,24 @@
from rest_framework import generics """Translation app views."""
from translation import models from rest_framework import generics, permissions
from translation import serializers from translation import models, serializers
from rest_framework import permissions
from utils.views import JWTGenericViewMixin
# Mixins # Mixins
class LanguageViewMixin(generics.GenericAPIView): class LanguageViewMixin(generics.GenericAPIView):
"""Mixin for Language views""" """Mixin for Language views"""
model = models.Language
queryset = models.Language.objects.all() queryset = models.Language.objects.all()
serializer_class = serializers.LanguageSerializer
# Views # Views
class LanguageListView(LanguageViewMixin, generics.ListAPIView): class LanguageListCreateView(LanguageViewMixin, generics.ListCreateAPIView):
"""List view for model Language""" """List view for model Language"""
permission_classes = (permissions.AllowAny, )
serializer_class = serializers.LanguageSerializer pagination_class = None
permission_classes = (permissions.IsAuthenticatedOrReadOnly, )
class LanguageCreateView(LanguageViewMixin, generics.CreateAPIView): class LanguageRetrieveUpdateDestroyView(LanguageViewMixin,
"""Create view for model Language""" generics.RetrieveUpdateDestroyAPIView):
permission_classes = (permissions.AllowAny, ) """Retrieve, Update, Destroy view for model Language"""
serializer_class = serializers.LanguageSerializer
class LanguageRetrieveView(LanguageViewMixin, generics.RetrieveAPIView):
"""Retrieve view for model Language"""
serializer_class = serializers.LanguageSerializer
class LanguageUpdateView(LanguageViewMixin, generics.UpdateAPIView):
"""Update view for model Language"""
serializer_class = serializers.LanguageSerializer
class LanguageDestroyView(LanguageViewMixin, generics.DestroyAPIView):
"""Destroy view for model Language"""
serializer_class = serializers.LanguageSerializer