Clean news serializer

This commit is contained in:
evgeniy-st 2019-10-24 12:03:41 +03:00
parent 3d301cb931
commit 0edc2fae38
2 changed files with 3 additions and 25 deletions

View File

@ -129,11 +129,6 @@ class NewsTypeSerializer(serializers.ModelSerializer):
class NewsBaseSerializer(ProjectModelSerializer): class NewsBaseSerializer(ProjectModelSerializer):
"""Base serializer for News model.""" """Base serializer for News model."""
# read only fields
title_translated = TranslatedField()
subtitle_translated = TranslatedField()
# related fields
news_type = NewsTypeSerializer(read_only=True) news_type = NewsTypeSerializer(read_only=True)
tags = TagBaseSerializer(read_only=True, many=True) tags = TagBaseSerializer(read_only=True, many=True)
@ -155,27 +150,12 @@ class NewsBaseSerializer(ProjectModelSerializer):
class NewsListSerializer(NewsBaseSerializer): class NewsListSerializer(NewsBaseSerializer):
"""List serializer for News model.""" """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) image = NewsImageSerializer(source='main_image', allow_null=True)
class Meta: class Meta(NewsBaseSerializer.Meta):
"""Meta class.""" """Meta class."""
model = models.News fields = NewsBaseSerializer.Meta.fields + (
fields = (
'id',
'title_translated',
'subtitle_translated',
'is_highlighted',
'news_type',
'tags',
'slug',
'image', 'image',
) )

View File

@ -1,6 +1,4 @@
"""News app views.""" """News app views."""
from django.shortcuts import get_object_or_404
from rest_framework import generics, permissions
from django.conf import settings from django.conf import settings
from django.db.transaction import on_commit from django.db.transaction import on_commit
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
@ -17,7 +15,6 @@ class NewsMixinView:
"""News mixin.""" """News mixin."""
permission_classes = (permissions.AllowAny, ) permission_classes = (permissions.AllowAny, )
serializer_class = serializers.NewsBaseSerializer
def get_queryset(self, *args, **kwargs): def get_queryset(self, *args, **kwargs):
"""Override get_queryset method.""" """Override get_queryset method."""
@ -30,6 +27,7 @@ class NewsMixinView:
class NewsListView(NewsMixinView, generics.ListAPIView): class NewsListView(NewsMixinView, generics.ListAPIView):
"""News list view.""" """News list view."""
serializer_class = serializers.NewsListSerializer serializer_class = serializers.NewsListSerializer
filter_class = filters.NewsListFilterSet filter_class = filters.NewsListFilterSet