Как работает класс Now()?
Итак, я нашел способ получения временной метки базы данных и впервые попытался его реализовать
def __str__(self):
is_exp = 'EXPIRED' if self.date_created > Now() - datetime.timedelta(minutes=10) else 'AVAIL'
return '{} {}'.format(self.code, is_exp)
Код используется для проверки истечения срока действия токена. Я запустил этот код, и он выдал мне следующее сообщение errpr
'>' not supported between instances of 'datetime.datetime' and 'CombinedExpression'
Теперь я нашел некоторое решение, которое я еще не пробовал, но моя главная цель здесь - понять, что происходит.
Now() - это операция базы данных, которая превращается в вызов функции SQL (или ссылку CURRENT_TIMESTAMP) при отправке в базу данных. Вы можете использовать его только в запросах.
Функция now() (django.utils.timezone.now()), которая возвращает текущее время в виде времени с правильным часовым поясом, - это то, что вы используете вне контекста базы данных (например, здесь).