У меня возникла проблема с объектами python datetime, в частности с datetime.timedelta().

Я пытаюсь найти разницу в днях в виде числа, а не экземпляра datetime.timedelta(). Я использую Django версии 3.2 и получаю значения даты из формы на шаблоне

[ Предположим, что все необходимые библиотеки импортированы, потому что здесь я сталкиваюсь не с ошибкой импорта]

вот код из шаблона - dateform.html

<span style="position: absolute; right: 0%;font-size: 0.5em;" class="pull-left">
        <form method="GET" action="{% url 'shifts:timeSheetFiltered' %}">           
            {% csrf_token %} start
        <input type="date" id="start-date"
               name="start-date" >
        end             
        <input type="date" id="end-date"
        name="end-date" >
        <button type="submit" class="btn btn-xs btn-info"><i class="fa fa-filter"></i></button>
                </span>
        </form>
    </span> 

вот функция представления в одном из представлений django.

def timeSheetFiltered(request):
    
end_date = forms.DateField().clean(request.GET.get('end-date'))
start_date = forms.DateField().clean(request.GET.get('start-date'))

num_days = end_date - start_date
num_weeks = math.ceil(num_days/7)
week_pack = []
counter = 0
while counter <= num_days:
    week_pack.append(start_date + timedelta(days=counter))
    counter = counter + 1

shifts = Shift.objects.filter(time_added__range = [start_date,end_date])


context = {
    'shifts': shifts,
    'start_date': start_date,
    'end_date': end_date,
    'week_pack': week_pack,
    'num_weeks': num_weeks

}

return render(request, 'shifts/timeSheetFiltered.html', context)

Теперь при попытке обработать запрос, я знаю, что переменная num_days возвращает datetime.timedelta(days={what-ever-the difference-here}) . Мне не нужен этот объект, как я могу извлечь количество дней как простое число (Integer) из datetime.timedelta()?

Вы можете использовать days свойство timedelta как

num_days = (end_date - start_date).days
Вернуться на верх