Хотите ли вы группировать заказы, основываясь на двенадцати пятиминутных интервалах в час? Под пятиминутными интервалами я подразумеваю отображение минут на интервалы следующим образом: (0..4 => 0, 5..9 => 1, 10..14 => 2, ...).
all_with_interval = SomeModel.objects.extra(
select={'interval': "strftime('%%M', date)/5"})
just_minutes_5_to_9 = all_with_interval.extra(
where=["interval=%d"], params=[0])
Или, может быть, вы хотите пятиминутный диапазон от заданного времени начала:
end_time = start_time + datetime.timedelta(minutes=5)
start_plus_5_inclusive = SomeModel.filter(date__range=(start_time, end_time)
start_plus_5_exclusive = start_plus_5_inclusive.exclude(end_time)
Функция exclude () существует, потому что фильтр диапазона является включающим, и вы, вероятно, хотите исключить время окончания для этого текущего вопроса. Если вы не исключите время окончания, вы можете получить записи за 5 минут + ~ 1 секунду.