一尘不染

Django DateField默认选项

django

我有一个具有日期时间字段的模型:

date = models.DateField(_("Date"), default=datetime.now())

当我在内置的django admin中检查该应用程序时,DateField还会附加时间,因此,如果你尝试保存它,则会返回错误。如何设置默认的日期呢?(datetime.today()也不起作用)


阅读 2042

收藏
2020-03-30

共1个答案

一尘不染

这就是为什么你应该始终导入基本datetime模块:import datetime而不是该datetime模块中的类的原因from datetime import datetime

你犯的另一个错误是使用实际调用默认的函数()。这意味着所有模型都将在首次定义类时获得日期-因此,如果你的服务器在不重新启动Apache的情况下工作了几天或几周,则所有元素的初始日期都将相同。

因此,该字段应为:

import datetime
date = models.DateField(_("Date"), default=datetime.date.today)
2020-03-30