2017-06-03 133 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