如何在 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 对多对多“通过”模型的限制?)