Django Query in a loop fails for no good reason
I have this code:
msgs = int(post['time_in_weeks'])
for i in range(msgs):
tip_msg = Tip.objects.get(week_number=i)
it always results in an error saying that no values could be found.
week_number is an integer field. When I input the value of i directly, th开发者_运维知识库e query works.
When i print out the value of i I get the expected values.
Any input at all would be seriously appreciated.
Thanks.
The range
function will give you a zero based list of numbers up to and excluding msgs
. I guess there is no Tip with week_number=0
.
Also, to limit the number of queries you could do this:
for tip in Tip.objects.filter(week_number__lt=msgs):
#do something
or, if you want specific weeks:
weeks=(1,3,5)
for tip in Tip.objects.filter(week_number__in=weeks):
#do something
精彩评论