From da13db8a0a161d1767b3387213a67bcc13f3a0e2 Mon Sep 17 00:00:00 2001 From: Ruslan Stepanov Date: Mon, 2 Dec 2019 17:11:45 +0300 Subject: [PATCH] Fixed upload size limit --- apps/gallery/serializers.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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."""