fixed return in establishment serializer last published review
This commit is contained in:
parent
605c81b33c
commit
c6cbb9bd36
|
|
@ -137,8 +137,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
|||
allow_null=True)
|
||||
phones = ContactPhonesSerializer(read_only=True, many=True, )
|
||||
emails = ContactEmailsSerializer(read_only=True, many=True, )
|
||||
reviews = ReviewSerializer(source='reviews.last', allow_null=True)
|
||||
# comments = CommentSerializer(many=True, allow_null=True)
|
||||
review = serializers.SerializerMethodField()
|
||||
comments = serializers.SerializerMethodField()
|
||||
employees = EstablishmentEmployeeSerializer(source='actual_establishment_employees',
|
||||
many=True)
|
||||
|
|
@ -175,7 +174,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
|||
'booking',
|
||||
'phones',
|
||||
'emails',
|
||||
'reviews',
|
||||
'review',
|
||||
'comments',
|
||||
'employees',
|
||||
'menu',
|
||||
|
|
@ -196,3 +195,8 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
|||
"""Get preview image"""
|
||||
return obj.get_full_image_url(request=self.context.get('request'),
|
||||
thumbnail_key='establishment_preview')
|
||||
|
||||
def get_review(self, obj):
|
||||
"""Serializer method for getting last published review"""
|
||||
return ReviewSerializer(obj.reviews.by_status(status=review_models.Review.READY)
|
||||
.order_by('-published_at').first()).data
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
"""Establishment app views."""
|
||||
from rest_framework import generics, permissions
|
||||
|
||||
from establishment import filters
|
||||
from establishment import models, serializers
|
||||
from utils.views import JWTGenericViewMixin
|
||||
from establishment import filters
|
||||
|
||||
|
||||
class EstablishmentMixin:
|
||||
|
|
@ -13,7 +14,6 @@ class EstablishmentMixin:
|
|||
|
||||
def get_queryset(self):
|
||||
"""Overrided method 'get_queryset'."""
|
||||
# todo: update ordering (last review)
|
||||
return models.Establishment.objects.all().prefetch_actual_employees()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,10 @@ class ReviewQuerySet(models.QuerySet):
|
|||
"""Return reviews by year"""
|
||||
return self.filter(vintage=year)
|
||||
|
||||
def by_status(self, status):
|
||||
"""Filter by status"""
|
||||
return self.filter(status=status)
|
||||
|
||||
|
||||
class Review(BaseAttributes, TranslatedFieldsMixin):
|
||||
"""Review model"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user