gault-millau/apps/transfer/serializers/news.py
2019-10-20 19:08:14 +03:00

42 lines
1.2 KiB
Python

from rest_framework import serializers
from news.models import News
class NewsSerializer(serializers.ModelSerializer):
image_url = serializers.SerializerMethodField()
preview_image_url = serializers.SerializerMethodField()
description = serializers.SerializerMethodField()
title = serializers.SerializerMethodField()
class Meta:
model = News
fields = (
"state",
"template",
"image_url",
"preview_image_url",
"title",
"description",
"slug",
"news_type"
)
def get_title(self, obj):
return f'{"en-GB": {obj.title}}'
def get_description(self, obj):
if not hasattr(obj, "body"):
return ""
else:
return obj.body
def get_image_url(self, obj):
if not hasattr(obj, "attachment_file_name") or obj.attachment_file_name is None:
return ""
return obj.attachment_file_name
def get_preview_image_url(self, obj):
if not hasattr(obj, "attachment_file_name") or obj.attachment_file_name is None:
return ""
return obj.attachment_file_name