"""Serializers for app advertisements""" from rest_framework import serializers from advertisement import models from translation.serializers import LanguageSerializer from main.serializers import SiteShortSerializer from main.serializers import PageBaseSerializer class AdvertisementBaseSerializer(serializers.ModelSerializer): """Base serializer for model Advertisement.""" languages = LanguageSerializer(many=True, read_only=True) sites = SiteShortSerializer(many=True, read_only=True) class Meta: model = models.Advertisement fields = [ 'id', 'uuid', 'url', 'block_level', 'languages', 'sites', 'start', 'end', ] class AdvertisementPageTypeCommonListSerializer(AdvertisementBaseSerializer): """Serializer for AdvertisementPageTypeCommonView.""" page = PageBaseSerializer(source='common_page', read_only=True) class Meta(AdvertisementBaseSerializer.Meta): """Meta class.""" fields = AdvertisementBaseSerializer.Meta.fields + [ 'page', ]