[英]Django for loop looping only once through queryset
我正在做一個項目,但遇到了一個問題。 我正在循環一個查詢集,而 for 循環只運行一次而沒有給出任何錯誤。 這個問題之前沒有發生,但現在它突然出現了。 下面是我的代碼。
視圖.py
ward = Student.objects.get(id = request.POST.get('ward'))
request.session['student'] = request.POST.get('ward')
fees = Fee.objects.get(classes = ward.classes)
extras = ExtraFee.objects.filter(student = ward)
ex = ExtraFee.objects.filter(student = ward).values('title').annotate(Count('title'))
print(ex)
for e in ex:
print(e)
title = e['title']
if e['title__count'] > 1:
print(title)
extra = ExtraFee.objects.filter(title = e['title'], student = ward)
amount = 0
fine = 0
for ex in extra:
amount = int(ex.amount) + amount
total = amount
for exs in extras:
fine = int(exs.amount) + fine
totalfine = fine
return render(request, "dashboard/parent_fees.html", {"students": students, "parent": parent, "ward": ward, "fees": fees, "extras": extras, "totalfine": totalfine, "total": total, "title": title})
else:
fine = 0
for e in extras:
fine = int(e.amount) + fine
totalfine = fine
return render(request, "dashboard/parent_fees.html", {"students": students, "parent": parent, "ward": ward, "fees": fees, "extras": extras, "totalfine": totalfine})
提前感謝您的時間和幫助。
在循環內使用 return 會破壞它並退出方法/函數,即使迭代仍未完成。
因此,除非您知道自己在做什么,否則切勿在循環中使用“return”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.