У меня есть шаблон с карточками, каждая из которых содержит информацию о заказе и флажок, который позволит мне выбрать несколько, а затем с помощью кнопки пометить их как оплаченные без необходимости делать это по отдельности.
Я создал пустой массив, а затем 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)