2012-03-01 21 views
0

您好我無法將日期時間對象存儲在python字典中。當我嘗試檢索日期時間對象與另一個日期時間對象進行比較時,返回的對象是一個不是日期時間的str。數據類型未保存在字典中

class Course(models.Model): 
    StartDate = models.DateTimeField() 

dict = {} 
myDate = Course.StartDate 
dict['date'] = myDate 

today = datetime.datetime.today() 
if today > dict['date']: 
    pass 

假定Course.StartDate返回一個日期時間對象。

+1

什麼是Course.StartDate?另外,你怎麼知道你得到一個字符串回來? – 2012-03-01 20:35:26

+1

不要打電話給你的字典'字典'。除此之外,您的代碼按預期工作。你遇到了什麼錯誤? – 2012-03-01 21:08:15

+0

TypeError無法比較datetime.datetime到str – bgrantdev 2012-03-01 21:14:16

回答

0

看起來你在代碼中缺少一些東西,因爲你試圖做的工作很好。

在這種模式下:

class Course(models.Model): 
    # auto_now_add for convenience when testing 
    start_date = models.DateTimeField(auto_now_add=True) 

我創建的對象:

>>> c = Course.objects.create() 

而且創造了一個詞典:

>>> mydict = {} 

分配的start_date屬性的辭典鍵:

>>> mydict['date'] = c.start_date 

訪問值作爲datetime對象:

>>> mydict['date'] 
datetime.datetime(2012, 3, 1, 16, 55, 49, 723208) 

,並且可以在字典值進行比較,以一個datetime對象:

>>> datetime.datetime.today() > mydict['date'] 
True 
+0

那麼在實際代碼中用c.start_date> mydict ['date']完成比較。 – bgrantdev 2012-03-01 22:20:16