如何按路线和日期计算每小时的停靠时间 模型:
def stops_per_hour(date):
query_set = MyModel.objects.filter(date=date).values(
'route', 'dropoff_stops','pickup_stops','on_route_time').annotate(
total=(Sum('actual_stops') + Sum('pickup_stops'))).order_by('route')
我的查询:
<<QuerySet [{'route': 226, 'dropoff_stops': 84, 'pickup_stops': 0, 'on_route_time': datetime.time(5, 23), 'total': 84},{'route': 242, 'dropoff_stops': 33, 'pickup_stops': 0, 'on_route_time': datetime.time(3, 24), 'total': 33}]>>
给了我:
cellForRowAtIndexPath
我正在考虑如何计算每条路线的停车/小时并将其传递到视图(例如路线226站/小时= 15.18。建议?谢谢。
答案 0 :(得分:0)
这就是我最终解决它的方式。会对改进建议感兴趣。
new_set = []
for i in query_set:
time = i.get('on_route_time')
stops = i.get('dropoff_stops') + i.get('pickup_stops)
route = i.get('route')
try:
time.hour * 60 + time.minute > 0
sph = round(stops / (time.hour * 60 + time.minute) * 60, 1)
dict = {'route':route, 'sph', sph}
new_set.append(dict)
except:
sph = 0
new_set.append(dict)
return new_set
尝试处理两种类型并除以零问题。