我正在尝试获取每个 if 条件中的 for 循环计数
def get(self, request, format=None):
queryset = preshift.objects.filter(active=True,is_published=True,date_published=self.request.GET.get('date')).values()
data = {}
print('/////queryset_count///',queryset.count())
pre_shift_count = 0
for i in queryset:
dt = i['date_published_local'].strftime("%H")
if int(dt) in range(0,2):
pre_shift_count+=1
print('///1////',pre_shift_count)
data["zero-2"]= pre_shift_count
else:
data["zero-2"] = 0
if int(dt) in range(2,4):
pre_shift_count+=1
print('///2////',pre_shift_count)
data["two-4"] = pre_shift_count
else:
data["two-4"] = 0
if int(dt) in range(4,6):
pre_shift_count+=1
print('///3////',pre_shift_count)
data["two-5"] = pre_shift_count
else:
data["two-5"] = 0
return Response({"preshift":data})
它给了我这样的输出
('/////queryset_count///',4)
(////1//,1)
(////3//,0)
(////3//,1)
(////3//,2)
(////3//,3)
(////3//,4)
(////3//,5)
我有四条记录,但它正在打印 5 我不知道如何在条件内获得完美的 for 循环计数,我想像这样将数据存储在字典中
{
"preshift":{
"zero-2":1,
"two-4":0,
"two-5":4,
}
}