2011-02-17 86 views
1

我如何设置默认值作为模型今天几号?设置今天的日期作为模型中的默认值

我的模型: vote_date = models.DateField(_( '投票日期'),空=假空白= FALSE)

+0

我会给你一个+1,因为这是一个很好的想法知道,但你自己的问题的超快速答案建议你在实际寻找解决方案之前询问... – Endophage 2011-02-17 00:31:00

回答

0

这解决了我的问题:

vote_date = models.DateField(_('vote date'), null=False, blank=False, auto_now=True) 

More info about django fields...

+0

我认为auto_now = True已弃用 – panchicore 2011-02-17 00:42:16

+1

否,不推荐使用。它在后备箱里。 – 2011-02-17 05:13:08

0

django command extensions可以帮你很多东西,如:

  • CreationDateTimeField - DateTimeField字段,将自动 设置它的日期,当对象是第一 保存到数据库中。工作在 相同的方式过时 auto_now_add关键字。
  • ModificationDateTimeField - DateTimeField字段,将自动 设置它的当一个对象被保存 到数据库的日期。以与已弃用的auto_now关键字相同的方式工作 。

http://code.google.com/p/django-command-extensions/

2

的答案都不对解决原来的问题。重述问题,我如何将日期字段的默认值设置为今天的日期,并且仍然允许用户覆盖默认值。

从Django文档:

DateField.auto_now
每个对象 保存时自动设置现场到现在。适用于“最后修改” 时间戳。请注意,总是使用当前日期 ;这不仅是您可以覆盖的默认值 。

DateField.auto_now_add
自动 设置字段到现在首次创建对象时 。用于创建时间戳的 。请注意,目前总是使用 日期;这不仅是您可以覆盖的默认值 。

如果这不只是一个“被这个时候添加/编辑”领域,答案是使用

default=datetime.date.today 

注意到没有括号。这将默认设置为该函数,而不是模型评估时函数返回的值。

相关问题