update news endpoint
This commit is contained in:
parent
9373137a29
commit
9e1bf5ba0e
|
|
@ -1,5 +1,5 @@
|
|||
"""News app common serializers."""
|
||||
from rest_framework import serializers
|
||||
|
||||
from gallery import models as gallery_models
|
||||
from location.models import Address
|
||||
from location.serializers import AddressSerializer
|
||||
|
|
@ -23,7 +23,7 @@ class NewsSerializer(serializers.ModelSerializer):
|
|||
title_translated = serializers.CharField(read_only=True, allow_null=True)
|
||||
subtitle_translated = serializers.CharField(read_only=True, allow_null=True)
|
||||
description_translated = serializers.CharField(read_only=True, allow_null=True)
|
||||
image_url = serializers.ImageField(source='image.image')
|
||||
image_url = serializers.ImageField(source='image.image', allow_null=True)
|
||||
|
||||
class Meta:
|
||||
model = models.News
|
||||
|
|
|
|||
|
|
@ -1,50 +1,37 @@
|
|||
"""News app common app."""
|
||||
from rest_framework import generics, permissions
|
||||
|
||||
from news import filters
|
||||
from news.models import News, NewsType
|
||||
from news import filters, models
|
||||
from news.serializers import common as serializers
|
||||
from utils.views import (JWTGenericViewMixin,
|
||||
JWTListAPIView)
|
||||
from utils.views import JWTGenericViewMixin, JWTListAPIView
|
||||
|
||||
|
||||
# Mixins
|
||||
class NewsViewMixin(JWTGenericViewMixin):
|
||||
"""View mixin for News model"""
|
||||
class NewsMixin:
|
||||
"""News mixin."""
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
"""Override get_queryset method"""
|
||||
return News.objects.annotate_localized_fields(locale=self.request.locale)
|
||||
|
||||
|
||||
class NewsListView(NewsViewMixin, JWTListAPIView):
|
||||
"""News list view."""
|
||||
permission_classes = (permissions.AllowAny, )
|
||||
serializer_class = serializers.NewsSerializer
|
||||
filter_class = filters.NewsListFilterSet
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
"""Override get_queryset method"""
|
||||
return News.objects.published()\
|
||||
.by_country_code(code=self.request.country_code)\
|
||||
.order_by('-is_highlighted', '-created')
|
||||
return models.News.objects.published() \
|
||||
.by_country_code(code=self.request.country_code) \
|
||||
.order_by('-is_highlighted', '-created')
|
||||
|
||||
|
||||
# class NewsCreateView(generics.CreateAPIView):
|
||||
# """News list view."""
|
||||
# queryset = News.objects.all()
|
||||
# permission_classes = (permissions.IsAuthenticated, )
|
||||
# serializer_class = serializers.NewsCreateUpdateSerializer
|
||||
class NewsListView(NewsMixin, JWTListAPIView):
|
||||
"""News list view."""
|
||||
|
||||
filter_class = filters.NewsListFilterSet
|
||||
|
||||
|
||||
class NewsDetailView(NewsViewMixin, generics.RetrieveAPIView):
|
||||
class NewsDetailView(NewsMixin, JWTGenericViewMixin, generics.RetrieveAPIView):
|
||||
"""News detail view."""
|
||||
permission_classes = (permissions.IsAuthenticatedOrReadOnly, )
|
||||
serializer_class = serializers.NewsSerializer
|
||||
|
||||
|
||||
class NewsTypeListView(generics.ListAPIView):
|
||||
"""NewsType list view."""
|
||||
|
||||
serializer_class = serializers.NewsTypeSerializer
|
||||
permission_classes = (permissions.AllowAny, )
|
||||
pagination_class = None
|
||||
queryset = NewsType.objects.all()
|
||||
queryset = models.NewsType.objects.all()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user