06
Май
2021

Django: tzinfo в датах не совпадают, поэтому возникает ошибка

Я работаю в Django. У меня в моделях есть поле:

    deadline = models.DateTimeField(auto_now_add=False)

Здесь же я прописываю функцию для того, чтобы сравнить deadline с текущим временем и понять, прошёл уже дедлайн или нет:

def is_deadline(self):
    ddln = self.deadline
    today = datetime.now()
    pytz.utc.localize(ddln)
    return ddln - today > 0 

Но функция выдаёт ошибку, потому что у дат не совпадают tz info:

    ddln    datetime.datetime(2021, 5, 5, 19, 10, 52, tzinfo=<UTC>)
    today   datetime.datetime(2021, 5, 6, 23, 54, 39, 306834)

Как исправить ошибку? Как сравнить эти значения? В настройках стоит USE_L10N = True и TIME_ZONE = 'Europe/Moscow'

Источник: https://ru.stackoverflow.com/questions/1279044/django-tzinfo-%D0%B2-%D0%B4%D0%B0%D1%82%D0%B0%D1%85-%D0%BD%D0%B5-%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%82-%D0%BF%D0%BE%D1%8D%D1%82%D0%BE%D0%BC%D1%83-%D0%B2%D0%BE%D0%B7%D0%BD%D0%B8%D0%BA%D0%B0%D0%B5%D1%82-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0

Тебе может это понравится...

Добавить комментарий