diff --git a/apps/news/models.py b/apps/news/models.py index fffed321..e3205c01 100644 --- a/apps/news/models.py +++ b/apps/news/models.py @@ -16,7 +16,7 @@ from main.models import Carousel from rating.models import Rating, ViewCount from utils.models import (BaseAttributes, TJSONField, TranslatedFieldsMixin, HasTagsMixin, ProjectBaseMixin, GalleryMixin, IntermediateGalleryModelMixin, - FavoritesMixin) + FavoritesMixin, TypeDefaultImageMixin) from utils.querysets import TranslationQuerysetMixin from datetime import datetime @@ -49,13 +49,18 @@ class NewsBanner(ProjectBaseMixin, TranslatedFieldsMixin): blank=True, null=True, default=None) -class NewsType(models.Model): +class NewsType(ProjectBaseMixin, TypeDefaultImageMixin): """NewsType model.""" name = models.CharField(_('name'), max_length=250) tag_categories = models.ManyToManyField('tag.TagCategory', related_name='news_types') + default_image = models.ForeignKey('gallery.Image', on_delete=models.SET_NULL, + related_name='news_types', + blank=True, null=True, default=None, + verbose_name='default image') + class Meta: """Meta class.""" diff --git a/apps/news/serializers.py b/apps/news/serializers.py index 672334dd..564cd2c9 100644 --- a/apps/news/serializers.py +++ b/apps/news/serializers.py @@ -62,12 +62,14 @@ class NewsBannerSerializer(ProjectModelSerializer): class NewsTypeSerializer(serializers.ModelSerializer): """News type serializer.""" + default_image_url = serializers.ImageField(source='default_image.image', + allow_null=True) class Meta: """Meta class.""" model = models.NewsType - fields = ('id', 'name') + fields = ('id', 'name', 'default_image_url') class NewsBaseSerializer(ProjectModelSerializer):