Django的DateField模型字段及可接受值
我在使用Django的DateField模型字段时遇到了一些问题。难道它不应该能接受fiveDaysLater
作为一个有效的日期对象吗?当我尝试把fiveDaysLater添加到数据库时,出现了一个错误,提示无法将空值添加到日期
。但是,当我把date
字段改成普通的CharField
时,fiveDaysLater的值就能顺利添加到数据库里,完全没有问题。顺便说一下,如果我打印fiveDaysLater,我得到的是2011-09-28
。
我的视图:
def myView():
now = datetime.date.today()
fiveDaysLater = now + datetime.timedelta(days=5)
newDate = Speech(date = fiveDaysLater)
newDate.save()
我的模型:
class Speech(models.Model):
date = models.DateField()
1 个回答
0
“不过,一旦我把日期字段改成了普通的字符字段……”我只是有个猜测,如果你在代码中做了这个改动,记得要删除并重新创建Speech表格,使用syncdb命令。否则,sqlite不会知道你做了这个改动。(或者你也可以用像Firefox的sqlite explorer这样的工具来更改数据类型……)