"""Serializers for back office app advertisements""" from main.serializers import PageBaseSerializer class AdvertisementPageBaseSerializer(PageBaseSerializer): """Base serializer for linking page w/ advertisement.""" class Meta(PageBaseSerializer.Meta): """Meta class.""" PageBaseSerializer.Meta.extra_kwargs.update({ 'advertisement': {'write_only': True}, 'image_url': {'required': True}, 'width': {'required': True}, 'height': {'required': True}, }) class AdvertisementPageListCreateSerializer(AdvertisementPageBaseSerializer): """Serializer for linking page w/ advertisement.""" def create(self, validated_data): """Overridden create method.""" validated_data['advertisement'] = self.context.get('view').get_object() return super().create(validated_data)