如何在 DJango 的 DateTimeField 中添加默认时间(但不是日期)?

Posted

技术标签:

【中文标题】如何在 DJango 的 DateTimeField 中添加默认时间(但不是日期)?【英文标题】:How to add a default time (but not date) to a DateTimeField in DJango? 【发布时间】:2011-03-17 15:43:47 【问题描述】:

我在模型上有一个 DateTimeField。在该模型的表单中,我使用了 SplitDateTimeWidget。我想让用户只输入一个日期,如果没有输入,让我的代码定义一个默认时间(比如下午 2 点)。

有没有简单的方法来做到这一点?由于多个表单都需要这样做,因此我希望有一种方法可以一次应用于所有表单,而不必为每个表单重新实现。

【问题讨论】:

【参考方案1】:

您可以通过继承 DateTimeField 并覆盖 clean() 方法来做到这一点。

【讨论】:

【参考方案2】:

我倾向于在模型的 save() 方法或调用 pre_save 信号时执行这些类型的默认设置。

【讨论】:

以上是关于如何在 DJango 的 DateTimeField 中添加默认时间(但不是日期)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 之外使用 Django 模型?

Django:如何在 Django 表单中多次包含相同的字段?

如何在django查看一个group里的所有user

如何在双连接关系之后在 Django 中执行查询(或:如何绕过 Django 对多对多“通过”模型的限制?)

Django:如何告诉 Django 它应该在哪里寻找应用程序?

如何在django系统外使用django的ORM