Как получить разность дат, хранимых в DateField, выраженную в днях?

У меня в Django есть модель Event, у которой есть поле с датой начала и датой конца. Мне нужно сделать вычисляемое поле duration, где будет высчитываться количество дней между датой начала и датой конца. Как работать с DateField, я вообще не понимаю.

    start_date = models.DateField('Дата начала')
    end_date = models.DateField('Дата конца')
    
        # @property
        # def duration(self):
        # pass

Ответы (1 шт):

Автор решения: nomnoms12

Поле DateField нормализуется в datetime.date, поэтому Вы можете вычитать одну дату из другой, получая timedelta.

Пример:

@property
def duration(self):
    return (self.end_date - self.start_date).days
→ Ссылка