Django | отображение значения имени в опции select с помощью ajax (jquery), а не id

это код ajax

    $('.addtasksubmit').click(function(e) {
        e.preventDefault();
        

        $.ajax({
            url: 'addtodo',
            type: "POST",
            data: {
                title: $('#task-title').val(),
                category: $('#catsel option:selected').val(),
                'csrfmiddlewaretoken':$('input[name=csrfmiddlewaretoken]').val()
            },
            success: function(response) {
                console.log(response)
                $('.todos-box').append(`
                  <a href="#" class="category-link">${response.category}</a>
                `)
                $("#addtodo").trigger('reset');
                $("#exampleModal").modal('hide');
            }
        })
    })

Так ${response.category} дает мне идентификатор категории, но мне нужно название категории для просмотра

и это views.py

        response = {
        'title': request.POST['title'],
        'category' : request.POST['category'],
        }
        todo = Todo.objects.create(title=response['title'],
                                     category=Category.objects.get(id=response['category']),
                                     user=request.user)   
        todo.save()
   return JsonResponse(response, safe=False)

Есть ли способ просмотреть название категории с помощью ajax, а не id? Или как я могу получить название категории с ее id.

извините за мой плохой английский...

Было бы полезно получить HTML select input с категориями из шаблона. Основываясь на том, что вы написали, пожалуйста, настройте views.py так

  todo = Todo.objects.create(title=response['title'],
  category = Category.objects.get(id=response['category']),
                                 user=request.user)   
  todo.save()  

  response = {
      'title': request.POST['title'],
      'category' : category.name,
  }


return JsonResponse(response, safe=False)

так что я решил его проблему после 5 дней попыток.

добавили это в представления

        response['category']=Category.objects.filter(id=category)
                           .values('name').first()
        data = json.dumps(response)
        return HttpResponse(data)

и ajax

                <div class="category-list flex-1">
                  <a href="#" class="category-link">${response['category'].name}</a>
                </div> 

и также добавил dataType: 'json'

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