[Django]-Rest Framework Image Validation

5👍

✅

serializers has feature field-level-validation that validate the property before returns.

https://www.django-rest-framework.org/api-guide/serializers/#field-level-validation

class AvatarSerializer(serializers.ModelSerializer):
    avatar = Base64ImageField()

    def validate_avatar(self, image):
        # 12MB
        MAX_FILE_SIZE = 12000000
        print(image.name)
        if image.size > MAX_FILE_SIZE:
            print(image.size)
            raise ValidationError("File size too big!")


    class Meta:
        model = Profile
        fields = ('avatar',)

Leave a comment