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',)
Source:stackexchange.com