Значение по умолчанию поля модели django не отображается в шаблоне с помощью jquery

когда я удаляю html data-, то значение поля django отображается там. но когда я добавляю data-id, data-winner и т.д., значение по умолчанию поля модели django не отображается в шаблоне, как я могу это исправить?

models.py

class Contest(models.Model):
  title = models.CharField(max_length=50)
  name_winner = models.CharField(max_length=50,default="Announce")
  
  @property
    def winner(self):
        if something ...
           winner_name = something 
        else:
           winner_name = something 
        return name_winner 

html

{%for ....%}
 <td type="hidden" class="winner_click" data-winner="{{contest.winner}}" data-id="{{contest.id}}"> {{contest.name_winner}}</td>
{%end for%}
<script>

      $(".winner_click").click(function(){
        var get_id = $(this).data('id')
        var get_data = $(this).data('winner')
        $(this).html(get_data).css("color","black")
        

        $.ajax(
            {
                type:"POST",
                url: "/admin/save_winner",
                data:{
                    'contest_id': get_id,
                    'contest_winner':get_data,
                    "csrfmiddlewaretoken": '{{ csrf_token }}'
                    },
                success: function( data ) 
                {
                    $(this).html(get_data).css("color","black")
                }
            })
      });

</script>

В этом случае, когда я удаляю data-id и data-winner, то в td отображается значение поля по умолчанию django, в этом случае ничего не отображается .

просмотров: сохранить победителя

def save_winner(request):
    if request.method == 'POST':
        contest_id = request.POST.get('contest_id')
        contest_winner = request.POST.get('contest_winner')
        Contest.objects.filter(id=contest_id).update(name_winner=contest_winner)
        return JsonResponse({"status":"success"}) 

как я могу это исправить? почему это происходит?

Спасибо

Вернуться на верх