From d84777b685e5c21ca08d822b50f875253f03baef Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Tue, 24 Apr 2018 18:57:50 +0300 Subject: [PATCH] Fix upload baner image --- api/v1/views.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/api/v1/views.py b/api/v1/views.py index dca3d1b6..7e18d0eb 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -88,17 +88,19 @@ class BanerViewSet(ExtendedModelViewSet): ordering_fields = ('created_at', 'update_at',) search_fields = ('text',) - @detail_route(methods=['post'], url_path='upload-image') - def upload_image(self, request, pk=None): - baner = self.get_object() - serializer = self.get_serializer() - serialized_data = serializer(data=request.data) - if serialized_data.is_valid(): - baner.image = serialized_data['image'] - baner.save() - return Response({'success': True}) - else: - return Response({'success': False}, status=status.HTTP_400_BAD_REQUEST) + def perform_create(self, serializer): + files = dict() + for k, v in self.request.FILES.items(): + if v: + files[k] = v + serializer.save(**files) + + def perform_update(self, serializer): + files = dict() + for k, v in self.request.FILES.items(): + if v: + files[k] = v + serializer.save(**files) class ImageObjectViewSet(ExtendedModelViewSet):