Как аннотировать разницу даты и времени в днях

у меня естьBooking модель, которая имеетstart а такжеend поля даты и времени. Я хочу знать, сколько дней покрывает бронирование. Я могу сделать это в Python, но мне нужно это значение для дальнейших аннотаций.

Вот что я попробовал:

In [1]: Booking.objects.annotate(days=F('end')-F('start'))[0].days
Out[1]: datetime.timedelta(16, 50400)

Здесь есть несколько проблем:

Я хочу получить целое число (или другой тип числа, которое я могу использовать в расчетах) дней, а не временную дельту. Установка output_field здесь ничего не делает.Мои суммы основаны на датераз, Подобные вычитания без удаления времени могут привести к тому, что будет целое количество дней.

В Python я бы сделал(end.date() - start.date()).days + 1, Как я могу сделать это в базе данных, предпочтительно через ORM (например, функции базы данных), ноRawSQL было бы достаточно, чтобы получить это за дверь?

Ответы на вопрос(2)

Ваш ответ на вопрос