Перехват ‘нетипичных’ исключений при работе с полями DateTimeFields

#django

#django

Вопрос:

У меня есть следующее views.py код.

 now_time = datetime.datetime.now()
for r in requests:
        hmt = r.date_of_notification - now_time
        if hmt <= datetime.timedelta(days = 1):
            r.time_action_status = 'staction_day'
        else:
            r.time_action_status = 'non_staction_day'
  

Иногда я получаю сообщение об ошибке, потому что некоторые date_of_notification в запросе пусты (NoneType):

 TypeError: unsupported operand type(s) for -: 'NoneType' and 'datetime.timedelta'
  

models.py:

 date_of_notification = models.DateTimeField(blank=True, null=True)
  

Какой тип проверки r.date_of_notification я должен использовать, чтобы избежать ошибок?

Ответ №1:

 if r.date_of_notification is not None:
  do_something_useful()
else:
  field_is_null()