Как аннотировать разницу даты и времени в днях
у меня есть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
было бы достаточно, чтобы получить это за дверь?