JQuery не отражает точные значения

Я внедрил кнопку like с помощью jQuery в свой проект django. Все работает, за исключением того, что счетчик лайков не отображается должным образом

Пример:

Пользователь заходит на страницу, где пост не понравился

enter image description here

Пользователю нравится сообщение:

enter image description here

API запрос:

[enter image description here

Пользователь затем не любит пост:

enter image description here

enter image description here

Вы видите, что лайки правильно отправляются в БД, но счетчик лайков обратный. Я потратил кучу времени на это, но до сих пор не могу понять почему.

view:

class PostLikeAPIToggle(APIView):
    authentication_classes = (authentication.SessionAuthentication,)
    permission_classes = (permissions.IsAuthenticated,)

    def get(self, request, pk=None, format=None):
        # slug = self.kwargs.get("slug")
        obj = get_object_or_404(Post, pk=pk)
        url_ = obj.get_absolute_url()
        user = self.request.user
        updated = False
        liked = False
        counts=obj.likes.count()
        if user.is_authenticated:
            if user in obj.likes.all():
                liked = False
                obj.likes.remove(user)
            else:
                liked = True
                obj.likes.add(user)
            updated = True
        data = {
            "updated": updated,
            "liked": liked,
            "likescount": counts
        }
        return Response(data)

jQuery:

<script>
    $(document).ready(function(){
         function updateText(btn, newCount, verb){
         btn.text(newCount + " " + verb)
     }

     $(".like-btn").click(function(e){
       e.preventDefault()
       var this_ = $(this)
       var likeUrl = this_.attr("data-href")
       var likeCount = parseInt(this_.attr("data-likes")) | 0
       var addLike = likeCount + 1
       var removeLike = likeCount - 1
       if (likeUrl){
          $.ajax({
           url: likeUrl,
           method: "GET",
           data: {},
           success: function(data){
             console.log(data)
             var newLikes;
             if (data.liked){
                  updateText(this_, data.likescount, "")
                  $(".like-btn").prepend("<i></i>");
                  $( "i" ).addClass( "fa fa-heart-o liked-heart" );
                                    
                        
              } else {
                  updateText(this_, data.likescount, "")
                  $(".like-btn").prepend("<i></i>");   
                  $( "i" ).addClass( "fa fa-heart-o unliked-heart" );    

              }
           }, error: function(error){
             console.log(error)
             console.log("error")
           }
         })
       }       
     })
 })
</script>  

like btn:

<a class="like-btn" data-href='{{ post.get_api_like_url }}' data-likes="{{ post.likes.count }}" href="{{ post.get_like_url }}"><i class="{% if userliked %}fa fa-heart-o liked-heart{% else %}fa fa-heart-o unliked-heart{% endif %}" aria-hidden="true"></i>{{ post.likes.count }}</a>
Вернуться на верх