2017-06-03 137 views
1

我无法比较两个日期时间变量。其中之一是DateTimeField在我的models.py我如何比较Django中的两个日期时间

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 
+0

只是尝试datetime.datetime.now() –

+0

检查两种格式,其中的格式date_of_end_discount是完全存储的? –

+0

DateTimeField是偏移天真和datetime.now()是偏移感知,他们都是日期时间类型 – Vladyslav

回答

0

AFAIK datetime.now()不知道时区。

Django自带了这个帮手,这需要pytz

naive = datetime.replace(tzinfo=None) 

,或者您可以使用时区,而不是日期时间来解决这个问题。

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

你应该能够比较你的日期。

+0

谢谢,你非常帮助我! – Vladyslav