fixed comments in establishment list or detail endpoints

This commit is contained in:
Anatoly 2019-09-05 10:32:44 +03:00
parent c6cbb9bd36
commit 3cac53c77d
2 changed files with 10 additions and 2 deletions

View File

@ -17,6 +17,7 @@ class CommentBaseMixin(serializers.Serializer):
class CommentSerializer(CommentBaseMixin, serializers.ModelSerializer): class CommentSerializer(CommentBaseMixin, serializers.ModelSerializer):
"""Comment serializer""" """Comment serializer"""
is_mine = serializers.BooleanField(read_only=True) is_mine = serializers.BooleanField(read_only=True)
profile_pic = serializers.SerializerMethodField()
class Meta: class Meta:
"""Serializer for model Comment""" """Serializer for model Comment"""
@ -32,6 +33,10 @@ class CommentSerializer(CommentBaseMixin, serializers.ModelSerializer):
'profile_pic' 'profile_pic'
] ]
def get_profile_pic(self, obj):
"""Get profile picture URL"""
return obj.user.get_full_image_url(request=self.context.get('request'))
class EstablishmentCommentCreateSerializer(CommentSerializer): class EstablishmentCommentCreateSerializer(CommentSerializer):
"""Create comment serializer""" """Create comment serializer"""

View File

@ -186,10 +186,13 @@ class EstablishmentSerializer(serializers.ModelSerializer):
"""Serializer method for comment field""" """Serializer method for comment field"""
request = self.context.get('request') request = self.context.get('request')
if request.user.is_authenticated: if request.user.is_authenticated:
return CommentSerializer(obj.comments.all().annotate_is_mine_status(user=request.user), return CommentSerializer(obj.comments.annotate_is_mine_status(user=request.user),
context={'request': self.context.get('request')},
many=True).data many=True).data
else: else:
return CommentSerializer(obj.comments.all(), many=True).data return CommentSerializer(obj.comments,
context={'request': self.context.get('request')},
many=True).data
def get_preview_image(self, obj): def get_preview_image(self, obj):
"""Get preview image""" """Get preview image"""