【问题标题】:How to keep only date part in Django DateField如何在 Django DateField 中仅保留日期部分
【发布时间】:2013-02-27 11:44:02
【问题描述】:

我在下面的模型类中定义了一个 DateField,我只想将它用作 Date 类型,根本没有时间部分。但是,一旦我以 YYYY-MM-DD 格式加载数据,它就会自动添加 12:00:00 AM。

FromDate = models.DateField(blank=True, null=True)

我尝试了 Django DateField default options 的解决方案,例如 date = models.DateField(_("Date"), default=date.today) 但 syncdb 让我知道了

NameError:名称“_”未定义

Django 版本 1.2.1 和 1.4.2 都有相同的错误。

我错过了什么吗?

非常感谢。

【问题讨论】:

  • 您在哪里注意到它是在 12:00:00 自动添加的? DateField 应该只返回一个 Python datetime.date 实例。
  • @AustinPhillips 是正确的。如果您的字段是 DateTimeField,它将自动添加 12:00:00
  • 你用的是什么数据库?
  • mysql 5.1.41-3ubuntu12
  • 请添加您的代码,以便我们查看您是否做错了什么

标签: django


【解决方案1】:

也许您的数据库已经将该列创建为日期时间?例如,如果您首先在模型中有 DateTime 字段,然后运行 ​​syncdb,然后将模型更改为使用 Date,则可能会发生这种情况。

如果是这种情况,请尝试修改您的数据库表,或删除它并重新运行syncdb

【讨论】:

  • 是的,我总是删除表并重新运行 syncdb 以重新创建它,但它没有帮助。
猜你喜欢
  • 2014-10-05
  • 1970-01-01
  • 2017-05-10
  • 2010-12-03
  • 2015-12-12
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 2011-07-12
相关资源
最近更新 更多