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