在Python中比较datetime字段,类型错误:无法比较unicode和date.datetime字段
我在Django里创建了一个日期时间字段叫'time',想根据这个字段进行一些比较。但是它给我报错,说不能把unicode(字符串)和日期时间字段进行比较。
我现在做的事情是这样的:
if form.is_valid():
if formdata['time']==datetime.datetime.min:
formdata['time'] = datetime.date.now
if formadata['time'] < last_entry_time:
error_message
我发现第一个条件即使它们相等(默认设置为最小值),也返回false。而在第二个if条件里,它又报错了。
我查阅了Python关于日期时间字段的文档,上面提到对于'=='和'!='的比较不会引发类型错误。所以基本上在这两个条件语句里存在类型不匹配的问题。
1 个回答
1
在 form.cleaned_data
中使用属性进行比较。cleaned_data
中的属性会是合适的数据类型。
比如:
if form.is_valid():
if form.cleaned_data['time']==datetime.datetime.min:
....