Я потратил большую часть последних трех часов поиска, и я просто не могу понять, почему мой код не работает.вычитание полей datetime
import datetime
#get time since last status change
@property
def last_update(self):
if self.statuschange_set.exists():
last_change = self.statuschange_set.all()[0]
return last_change.date_changed - self.created
#if no status change has occurred, use creation date
if not self.statuschange_set.exists():
df = DateFormat(datetime.now())
df = df.format("d/m/Y, P ")
return df - self.created
return ""
Код сломается внизу, где я пытаюсь вычесть сегодняшнюю дату с даты создания. Я проверил это, где я могу вычесть self.created из себя, однако код выше выплевывает значение исключения:
Exception Value:
unsupported operand type(s) for -: 'unicode' and 'datetime.datetime'
Я, очевидно, получил неправильное форматирование ДФ неправильно, однако, даже глядя на другой решений в stackoverflow, я не могу найти решение моей проблемы.
Просто сторону Примечание: знаете ли вы о 'else:'? Возможно, можно избежать проверки 'self.statuschange_set.exists()' дважды. – lupz