0

已经创建了一个 Django 日期时间字段“时间”,并希望在此基础上进行一些比较。但它给出了 Can't compare unicode to date.datetime field 的错误

这就是我在做什么

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 条件下它会给出错误..

仔细阅读 datetime 字段的 python 文档,并提到它不会引发 '==' 和 '!=' 比较的类型错误。所以基本上两个条件语句都存在类型不匹配

4

1 回答 1

1

使用属性form.cleaned_data进行比较。中的属性cleaned_data将具有适当的数据类型。

例如

if form.is_valid():
   if form.cleaned_data['time']==datetime.datetime.min:
   ....
于 2013-01-31T09:08:53.960 回答