При выполнении диапазонов django с фильтром убедитесь, что вы знаете разницу между использованием объекта date и объекта datetime. __range включает даты, но если вы используете объект datetime для даты окончания, он не будет включать записи для этого дня, если время не установлено.
startdate = date.today()
enddate = startdate + timedelta(days=6)
Sample.objects.filter(date__range=[startdate, enddate])
возвращает все записи от начала до конца, включая записи в эти даты. Плохой пример, поскольку это возвращает записи через неделю в будущем, но вы получаете дрейф.
startdate = datetime.today()
enddate = startdate + timedelta(days=6)
Sample.objects.filter(date__range=[startdate, enddate])
будет не хватать записей за 24 часа в зависимости от того, какое время для полей даты установлено.