Я хочу создать веб-сайт, на котором пользователи смогут обновлять информацию. вот часть моего веб-сайта Но у меня здесь проблема, обновление работает только тогда, когда оно находится в обычном порядке, оно не будет работать, когда я заказываю по цене или по рангу или после Я фильтрую по некоторому выбору (например, Dell, N2840). Вот часть моего кода view.py. Я хочу, чтобы обновление соответствовало номеру asin.
alldata = Output.objects.all()
if 'price_sort' in request.POST:
alldata = alldata.order_by('-price')
return render(request, 'polls/base.html', {'alldata': alldata})
elif 'rank_sort' in request.POST:
alldata = alldata.order_by('rank')
return render(request, 'polls/base.html', {'alldata': alldata})
elif 'date_sort' in request.POST:
alldata = alldata.order_by('date')
return render(request, 'polls/base.html', {'alldata': alldata})
if request.method == 'POST' and 'update_bt' in request.POST:
i = 0
asin = []
alldata = Output.objects.all()
for j in alldata:
asin.append(j.asin)
while i < len(request.POST.getlist('brand')):
Output.objects.filter(asin = asin[i]).update(List = request.POST.getlist('list')[i])
Output.objects.filter(asin = asin[i]).update(brand = request.POST.getlist('brand')[i])
Output.objects.filter(asin = asin[i]).update(cpu = request.POST.getlist('cpu')[i])
Output.objects.filter(asin = asin[i]).update(screen = request.POST.getlist('screen')[i])
i += 1
alldata = Output.objects.all()
return render(request, 'polls/base.html', {'alldata': alldata})
Я понимаю, почему это работает только таким образом, но я просто не знаю, как заставить его работать во всех возможных ситуациях. Я новичок в Django. Кто-нибудь знает, как заставить работать? Спасибо.