Added field - vintage_year, absolute image_url to Carousel ListAPIView

This commit is contained in:
Anatoly 2019-09-18 13:14:57 +03:00
parent af0c134957
commit 6e7a617a67
2 changed files with 13 additions and 3 deletions

View File

@ -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):

View File

@ -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',
]