我有一点麻烦与django的DateField模型字段。它不应该接受fiveDaysLater
作为一个有效的日期对象吗?当我尝试将fiveDaysLater添加到数据库中时,我得到一个错误说cannot add null value to date
。但是,当我将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()
"然而,当我将日期字段更改为常规CharField时…"只是一种怀疑,但是如果您在代码中进行了此更改,请确保使用syncdb删除并重新创建Speech表,否则sqlite将不会意识到此更改。(或者您可以使用firefox的sqlite explorer或类似的东西更改数据类型…)