Как вернуть набор запросов на основе выбранной опции с помощью AJAX в django?
Вот мой view.py :
def get_group_ajax(request):
if request.method == "GET":
g_id = request.GET['group_id']
productlist = models.Stocksupporter.objects.filter(pmaingroups = g_id).values('productname').exclude(numberqut=0) *//This is my queryset*
Вот мой AJAX и используемый Django шаблон для цикла :
$("#allgrp").change(function () {
const gId = $('#allgrp').val();
$.ajax({
type: "GET",
url: '{% url "webapp:get_group_ajax" %}',
data: {
'group_id': gId,
},
success: function (data) {
html_data =
`
{% for pr in productlist %}
<div class="cardc" id="card_id">
<p>{{ pr.productname }}</p>
</div>
{% endfor %}
`;
$("#card_id2").html(html_data);
}
});
});
теперь, что такое проблема: Я хочу вернуть productlist (for loop) в AJAX Success на основе выбранного значения (mean group id), я использовал методы Response, но все равно не могу ничего вернуть. Есть ли какой-нибудь способ сделать это?
views.py :
from django.http import JsonResponse
if 'group_id' in request.GET:
productlist = Stocksupporter.objects.filter(pmaingroups = g_id).exclude(numberqut=0).values('productname')
return JsonResponse(list(productlist ),safe=False)
Успешная функция в html:
function(productListData){
for(i in productListData){
let element = ` <div class="cardc">
<p>${productListData[i].productname}</p>
</div>`
$("#card_id2").append(element);
}
}