diff --git a/apps/gallery/serializers.py b/apps/gallery/serializers.py index 36360180..d8bc995d 100644 --- a/apps/gallery/serializers.py +++ b/apps/gallery/serializers.py @@ -1,10 +1,9 @@ -from django.conf import settings from django.core.validators import MinValueValidator, MaxValueValidator from rest_framework import serializers from sorl.thumbnail.parsers import parse_crop from sorl.thumbnail.parsers import ThumbnailParseError from django.utils.translation import gettext_lazy as _ - +from django.conf import settings from . import models @@ -35,6 +34,15 @@ class ImageSerializer(serializers.ModelSerializer): 'orientation': {'write_only': True} } + def validate(self, attrs): + """Overridden validate method.""" + image = attrs.get('image') + + if image and image.size >= settings.FILE_UPLOAD_MAX_MEMORY_SIZE: + raise serializers.ValidationError({'detail': _('File size too large: %s bytes') % image.size}) + + return attrs + class CropImageSerializer(ImageSerializer): """Serializers for image crops."""