Django как разделить поле длительности на даты, которые оно охватывает, используя ORM (PostgreSQL)

Используя Django (с PostgreSQL), у меня есть модель, которая представляет деятельность с определенным моментом начала (start_datetime) и продолжительностью.

Так что возможно, что деятельность охватывает более одного дня, и я хотел бы знать для каждой деятельности, сколько времени она охватывает в последовательные даты (дни). Например, используя часовой пояс UTC, 48-часовая встреча начинается в 2022-12-24T12:00, а заканчивается в 2022-12-26T12:00, что дает продолжительность в день:

  • 2022-12-24 - 12 часов
  • .
  • 2022-12-25 - 24 часа
  • 2022-12-26 - 12 часов

И я хотел бы получить эту информацию о деятельности на срок до года, для повестки дня одного человека.

Возможно ли это, и если да, то есть ли у кого-нибудь пример того, как этого добиться? В идеале я также должен иметь возможность указать часовой пояс, в котором должны определяться эти данные.

можно использовать models.DurationField (https://www.geeksforgeeks.org/durationfield-django-models/) и указать любую длительность, также в модели нужно создать поле, от какого момента считать и либо указать там часовой пояс, либо сохранить его отдельно в поле для каждой записи

Вернуться на верх