added field image_url to news list and collection list

This commit is contained in:
Anatoly 2019-08-28 13:41:33 +03:00
parent 6d95349a52
commit 4c448efc96
2 changed files with 19 additions and 4 deletions

View File

@ -7,12 +7,15 @@ from location import models as location_models
class CollectionSerializer(serializers.ModelSerializer):
"""Collection serializer"""
# RESPONSE
image_url = serializers.SerializerMethodField()
# COMMON
block_size = serializers.JSONField()
image = serializers.PrimaryKeyRelatedField(
queryset=gallery_models.Image.objects.all())
is_publish = serializers.BooleanField()
on_top = serializers.BooleanField()
# REQUEST
start = serializers.DateTimeField(write_only=True)
end = serializers.DateTimeField(write_only=True)
filters = serializers.JSONField(write_only=True)
@ -21,6 +24,9 @@ class CollectionSerializer(serializers.ModelSerializer):
country = serializers.PrimaryKeyRelatedField(
queryset=location_models.Country.objects.all(),
write_only=True)
image = serializers.PrimaryKeyRelatedField(
queryset=gallery_models.Image.objects.all(),
write_only=True)
class Meta:
model = models.Collection
@ -30,6 +36,7 @@ class CollectionSerializer(serializers.ModelSerializer):
'start',
'end',
'image',
'image_url',
'is_publish',
'on_top',
'filters',
@ -39,6 +46,10 @@ class CollectionSerializer(serializers.ModelSerializer):
'block_size',
]
def get_image_url(self, obj):
"""Return absolute image URL"""
return obj.image.get_full_image_url(request=self.context.get('request'))
class CollectionItemSerializer(serializers.ModelSerializer):
"""CollectionItem serializer"""

View File

@ -27,7 +27,7 @@ class NewsLocalizationMixinSerializer(serializers.ModelSerializer):
class NewsSerializer(NewsLocalizationMixinSerializer):
"""News serializer."""
address = AddressSerializer()
image = serializers.URLField(source='image.get_image_url')
image_url = serializers.SerializerMethodField()
class Meta:
model = models.News
@ -39,13 +39,17 @@ class NewsSerializer(NewsLocalizationMixinSerializer):
'playlist',
'address',
'is_highlighted',
'image',
'image_url',
# Localized fields
'title_trans',
'subtitle_trans',
'description_trans',
]
def get_image_url(self, obj):
"""Return absolute image URL"""
return obj.image.get_full_image_url(request=self.context.get('request'))
class NewsCreateUpdateSerializer(NewsSerializer):
"""News update serializer."""