2012-03-01 59 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