Django的DateField模型字段及可接受值

1 投票
1 回答
700 浏览
提问于 2025-04-17 02:58

我在使用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这样的工具来更改数据类型……)

撰写回答