diff --git a/apps/main/models.py b/apps/main/models.py index d2a3dbb0..0078a5d5 100644 --- a/apps/main/models.py +++ b/apps/main/models.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext_lazy as _ from django.contrib.contenttypes.models import ContentType from location.models import Country from main import methods +from review.models import Review from utils.models import (ProjectBaseMixin, TJSONField, TranslatedFieldsMixin, ImageMixin) from utils.querysets import ContentTypeQuerySetMixin @@ -311,6 +312,13 @@ class Carousel(models.Model): if hasattr(self.content_object, 'awards'): return self.content_object.awards + @property + def vintage_year(self): + if hasattr(self.content_object, 'reviews'): + review_qs = self.content_object.reviews.by_status(Review.READY) + if review_qs.exists(): + return review_qs.last().vintage + @property def toque_number(self): if hasattr(self.content_object, 'toque_number'): @@ -326,8 +334,8 @@ class Carousel(models.Model): # Check if Generic obj has an image if not hasattr(self.content_object.image, 'url'): # Check if Generic obj has a FK to gallery - return self.content_object.image.image.url - return self.content_object.image.url + return self.content_object.image.image + return self.content_object.image @property def model_name(self): diff --git a/apps/main/serializers.py b/apps/main/serializers.py index 7f94f105..590e3d9f 100644 --- a/apps/main/serializers.py +++ b/apps/main/serializers.py @@ -134,8 +134,9 @@ class CarouselListSerializer(serializers.ModelSerializer): name = serializers.CharField() toque_number = serializers.CharField() public_mark = serializers.CharField() - image = serializers.URLField() + image = serializers.ImageField() awards = AwardBaseSerializer(many=True) + vintage_year = serializers.IntegerField() class Meta: """Meta class.""" @@ -148,4 +149,5 @@ class CarouselListSerializer(serializers.ModelSerializer): 'toque_number', 'public_mark', 'image', + 'vintage_year', ]