Файл передается из vue.js, там обрезается картинка и передается в формате blob, однако тип поля модели в которую записывается blob - imagefield, и полагаю из -за этого выскакивает 400 ошибка, однако в сериализаторе я преобразовываю blob к imagefield, но видимо ошибка возникает раньше этого момента, так как ни views, ни serializers не пишет в логи ничего. Что в таком случае можно предпринять?
views.py:
def create(self, request, *args, **kwargs):
if not request.data:
logger.error("Not request.data")
return response.Response({"result": "data can`t be a blanks"}, status.HTTP_400_BAD_REQUEST)
logger.error(request.data)
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
return response.Response(serializer.data, status=status.HTTP_201_CREATED)
serializers.py
def create(self, validated_data):
logger.error(validated_data)
user = User.objects.get(email=validated_data['email'])
user.update(**validated_data)
with io.BytesIO(self.context.get('view').request.FILES['image']) as stream:
django_file = File(stream)
user.image.save('{}_profile_image'.format(user.email), django_file)
return user.save()