def get(self, request, **kwargs): blog = Blog.objects.get(id=kwargs['blog_pk']) is_like = Like.objects.filter(user=request.user).filter(post=blog).count() # いいねを解除する if is_like > 0: liking = Like.objects.get(post__id=kwargs['blog_pk'], user=request.user) liking.delete() blog.like_num -= 1 blog.save() return JsonResponse({"like": blog.like_num}) # いいねする blog.like_num += 1 blog.save() like = Like() like.user = request.user like.post = blog like.save() return JsonResponse({"like": blog.like_num})
def like(request, *args, **kwargs): post = Post.objects.get(id=kwargs['pk']) is_like = Like.objects.filter(user=request.user).filter(post=post).count() # unlike if is_like > 0: liking = Like.objects.get(post__id=kwargs['pk'], user=request.user) liking.delete() post.like_num -= 1 post.save() messages.warning(request, 'いいねを取り消しました') return redirect( reverse_lazy('blog:post_detail', kwargs={'pk': kwargs['pk']})) # like post.like_num += 1 post.save() like = Like() like.user = request.user like.post = post like.save() messages.success(request, 'いいね!しました') return HttpResponseRedirect( reverse_lazy('blog:post_detail', kwargs={'pk': kwargs['pk']}))