我从django中的'unicode' object has no attribute 'year'
过滤器收到timesince
错误。之前使用此格式的字符串工作正常:"2013-06-20"
。但是我现在更新了字符串以包含一个时间元素:"2013-06-20T11:20:05.499274"
导致此错误。
我需要什么格式来处理时间元素?或者我是否需要在视图中进行一些额外的处理?
答案 0 :(得分:1)
timesince
filter只接受日期,而不是日期和时间组合。它显示与当前时间的时差(或者可选地,与要比较的传入日期)。
在您的视图中,仅将该字符串解析为其日期组件。如果你已将它作为日期时间对象,只需在其上调用.date()
即可获得日期部分。
如果你把它作为一个字符串:
fmt = "%Y-%m-%dT%H:%M:%S.%f"
date_only = datetime.strptime("2013-06-20T11:20:05.499274", fmt).date()