如何比较Django中的两个日期时间

如何比较Django中的两个日期时间,django,Django,我无法比较两个datetime变量。其中一个是my models.py中的DateTimeField date_of_end_discount = models.DateTimeField() 第二个是datetime.now。这是比较代码的示例 from datetime import datetime def is_discount(self): return self.date_of_end_discount > datetime.now() 但我有一个错误: can'

我无法比较两个datetime变量。其中一个是my models.py中的DateTimeField

date_of_end_discount = models.DateTimeField()
第二个是datetime.now。这是比较代码的示例

from datetime import datetime

def is_discount(self):
    return self.date_of_end_discount > datetime.now()
但我有一个错误:

can't compare offset-naive and offset-aware datetimes
AFAIK datetime.now()不支持时区

Django为此提供了一个助手,它需要pytz

 naive = datetime.replace(tzinfo=None)
或者您可以使用时区而不是日期时间来解决此问题

from django.utils import timezone
now = timezone.now()

您现在应该可以比较您的日期了。

试试datetime.datetime.now()检查两者的格式,date\u和date\u折扣的格式是什么?DateTimeField是offset naive和datetime。now()是offset aware,两者都是datetime类型谢谢,您帮了我很大的忙!