Ajax - Django: использование массива идентификаторов для фильтрации модели - PullRequest
0 голосов
/ 16 января 2020

У меня есть шаблон с карточками, каждая из которых содержит информацию о заказе и флажок, который позволит мне выбрать несколько, а затем с помощью кнопки пометить их как оплаченные без необходимости делать это по отдельности.

Я создал пустой массив, а затем pu sh идентификаторы ордеров, которые проверяются на нем при нажатии кнопки. Затем отправьте этот массив через ajax, чтобы отфильтровать мою модель и обновить статус заказов, чьи ID находятся в массиве. Однако когда я получаю массив из запроса, он читает только в первом элементе.

Javascript:

 var idArray = [];

 $('input[name="selector"]:checked').each(function(){
    idArray.push($(this).attr("id"));
})

  $.ajax({
    url:'/test/ajax',
    data:{
      'idArray':idArray, 
    },
    dataType:'json',
    success: function(serialized){

      parsed = JSON.parse(serialized)

      console.log(parsed)

      }
  })



Django:


    def ajax_test(request):

    # get array of order ids
    # problem - it only returns the first item in the array
    id = request.GET.get('idArray[]')

    #return records matching order ids
    #
    order = Order.objects.filter(Q(order_id__in = [id]))


    #mark each record paid


    serialized = serializers.serialize("json", order)

    return JsonResponse(serialized, safe = False)



Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...