django:'tuple'对象没有属性'strftime'

时间:2012-10-24 15:46:14

标签: python django datetime

我创建了一个datetime对象值列表

a=design_list.values_list('date_submitted')

所以我得到了:

[(datetime.datetime(2012, 10, 21, 13, 56, 24),), (datetime.datetime(2012, 10, 21, 10, 33, 58),), etc...

我正试图将它们转换为时间戳,比如说:

timestamps[0] = a[0].strftime("%s")

但我收到错误:

AttributeError: 'tuple' object has no attribute 'strftime'

谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:5)

我在查询中添加了flat = True:

a=design_list.values_list('date_submitted', flat=True)

给出了:

[datetime.datetime(2012, 10, 21, 13, 56, 24), datetime.datetime(2012, 10, 21, 10, 33, 58), 

然后可以转换。

答案 1 :(得分:4)

你指的是元组而不是元组的第一个元素。试试a[0][0].strftime('%s')

>>> a = [(datetime.datetime(2012, 10, 21, 13, 56, 24),)]
>>> a[0][0].strftime('%s')
'1350852984'

这就是您收到错误的原因,但正如您正确指出的那样,将结果列表展平是正确的方法。