From 0edc2fae38aa3060c38c03ec55454f23d924296a Mon Sep 17 00:00:00 2001 From: evgeniy-st Date: Thu, 24 Oct 2019 12:03:41 +0300 Subject: [PATCH 1/2] Clean news serializer --- apps/news/serializers.py | 24 ++---------------------- apps/news/views.py | 4 +--- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/apps/news/serializers.py b/apps/news/serializers.py index 6814965a..c23ad2c3 100644 --- a/apps/news/serializers.py +++ b/apps/news/serializers.py @@ -129,11 +129,6 @@ class NewsTypeSerializer(serializers.ModelSerializer): class NewsBaseSerializer(ProjectModelSerializer): """Base serializer for News model.""" - # read only fields - title_translated = TranslatedField() - subtitle_translated = TranslatedField() - - # related fields news_type = NewsTypeSerializer(read_only=True) tags = TagBaseSerializer(read_only=True, many=True) @@ -155,27 +150,12 @@ class NewsBaseSerializer(ProjectModelSerializer): class NewsListSerializer(NewsBaseSerializer): """List serializer for News model.""" - # read only fields - title_translated = TranslatedField() - subtitle_translated = TranslatedField() - - # related fields - news_type = NewsTypeSerializer(read_only=True) - tags = TagBaseSerializer(read_only=True, many=True) image = NewsImageSerializer(source='main_image', allow_null=True) - class Meta: + class Meta(NewsBaseSerializer.Meta): """Meta class.""" - model = models.News - fields = ( - 'id', - 'title_translated', - 'subtitle_translated', - 'is_highlighted', - 'news_type', - 'tags', - 'slug', + fields = NewsBaseSerializer.Meta.fields + ( 'image', ) diff --git a/apps/news/views.py b/apps/news/views.py index c2a71eca..e0034afa 100644 --- a/apps/news/views.py +++ b/apps/news/views.py @@ -1,6 +1,4 @@ """News app views.""" -from django.shortcuts import get_object_or_404 -from rest_framework import generics, permissions from django.conf import settings from django.db.transaction import on_commit from django.shortcuts import get_object_or_404 @@ -17,7 +15,6 @@ class NewsMixinView: """News mixin.""" permission_classes = (permissions.AllowAny, ) - serializer_class = serializers.NewsBaseSerializer def get_queryset(self, *args, **kwargs): """Override get_queryset method.""" @@ -30,6 +27,7 @@ class NewsMixinView: class NewsListView(NewsMixinView, generics.ListAPIView): """News list view.""" + serializer_class = serializers.NewsListSerializer filter_class = filters.NewsListFilterSet From 6c4f1a2e40d37613583369e21f4817a9b73baa0d Mon Sep 17 00:00:00 2001 From: evgeniy-st Date: Thu, 24 Oct 2019 12:08:44 +0300 Subject: [PATCH 2/2] Fix news serializer --- apps/news/serializers.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/news/serializers.py b/apps/news/serializers.py index c23ad2c3..cd7afff4 100644 --- a/apps/news/serializers.py +++ b/apps/news/serializers.py @@ -129,6 +129,8 @@ class NewsTypeSerializer(serializers.ModelSerializer): class NewsBaseSerializer(ProjectModelSerializer): """Base serializer for News model.""" + title_translated = TranslatedField() + subtitle_translated = TranslatedField() news_type = NewsTypeSerializer(read_only=True) tags = TagBaseSerializer(read_only=True, many=True) @@ -246,8 +248,10 @@ class NewsBackOfficeDetailSerializer(NewsBackOfficeBaseSerializer, class NewsBackOfficeGallerySerializer(serializers.ModelSerializer): """Serializer class for model NewsGallery.""" + class Meta: """Meta class""" + model = models.NewsGallery fields = [ 'id',