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.utils.translation import gettext_lazy as _
@ -25,6 +26,8 @@ class Language(models.Model):
objects = LanguageQuerySet.as_manager()
class Meta:
"""Meta class."""
verbose_name = _('Language')
verbose_name_plural = _('Languages')

View File

@ -5,14 +5,8 @@ from translation import views
app_name = 'translation'
urlpatterns = [
path('language/', views.LanguageListView.as_view(),
name='language_list'),
path('language/create/', views.LanguageCreateView.as_view(),
name='language_create'),
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'),
path('language/', views.LanguageListCreateView.as_view(),
name='languages'),
path('language/<int:pk>/', views.LanguageRetrieveUpdateDestroyView.as_view(),
name='language'),
]

View File

@ -1,40 +1,24 @@
from rest_framework import generics
from translation import models
from translation import serializers
from rest_framework import permissions
from utils.views import JWTGenericViewMixin
"""Translation app views."""
from rest_framework import generics, permissions
from translation import models, serializers
# Mixins
class LanguageViewMixin(generics.GenericAPIView):
"""Mixin for Language views"""
model = models.Language
queryset = models.Language.objects.all()
serializer_class = serializers.LanguageSerializer
# Views
class LanguageListView(LanguageViewMixin, generics.ListAPIView):
class LanguageListCreateView(LanguageViewMixin, generics.ListCreateAPIView):
"""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):
"""Create view for model Language"""
permission_classes = (permissions.AllowAny, )
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
class LanguageRetrieveUpdateDestroyView(LanguageViewMixin,
generics.RetrieveUpdateDestroyAPIView):
"""Retrieve, Update, Destroy view for model Language"""