【发布时间】:2011-09-24 01:44:02
【问题描述】:
我在使用 django 的 DateField 模型字段时遇到了一些问题。它不应该能够接受fiveDaysLater 作为有效的日期对象吗?当我尝试将 FiveDaysLater 添加到数据库中时,我收到一条错误消息 cannot add null value to date。但是,第二次我将date 字段更改为常规CharField,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()
【问题讨论】:
-
您的代码对我来说很好,除非视图定义中的错字(缺少括号)。什么数据库和django版本?也许您在简化要共享的代码时遗漏了一些重要的东西?
-
您的错误是来自
fiveDaysLater = now + datetime.timedelta(days=5)还是来自save()? -
我正在使用带有 django 版本 1.3 的 sqlite。错误来自 newDate.save() 因为
fiveDaysLater = now + datetime.timedelta(days=5)打印 2011-09-28。
标签: python django django-models django-views