Beispiel #1
0
 def update_post(self, request, **kwargs):
     try:
         post = Post.objects.get(**kwargs)
     except Post.DoesNotExist:
         return response404('Post')
     self.check_object_permissions(request=request, obj=post)
     file = request.FILES.get('file', None)
     image = request.FILES.get('image', None)
     if file:
         post.file = file
         post.save()
         request.data.pop('post')
     if image:
         post.image = image
         post.save()
         request.data.pop('image')
     serializer = PostSerializer(post, data=request.data, partial=True)
     if not serializer.is_valid():
         return response406({
             **serializer.errors, 'message': 'Błąd walidacji'
         })
     serializer.update(post, serializer.validated_data)
     return response200({
         **serializer.data, 'message':
         'Pomyślnie zaktualizowano posta'
     })
Beispiel #2
0
 def edit_post(self, request, **kwargs):
     post = Post.objects.get(id=kwargs.get('post_id'))
     self.check_object_permissions(request, post)
     serializer = PostSerializer(post,
                                 request.data,
                                 context={"host": request.get_host()},
                                 partial=True)
     if not serializer.is_valid():
         print(serializer.errors)
         return Response(data=serializer.errors,
                         status=status.HTTP_406_NOT_ACCEPTABLE)
     serializer.update(post, serializer.validated_data)
     return Response(data=serializer.data, status=status.HTTP_200_OK)