【发布时间】:2013-03-23 00:44:45
【问题描述】:
如果我在 Django 的模型中有 DateField() 字段,如何防止添加比今天更早的日期条目?
我可以在 views.py 级别上执行此操作,但它仍然可以从 Django 管理站点进行利用。
更糟糕的是,我的设计决定是在同一模型中拥有单独的 DateField() 和 TimeField() 字段。我可以防止添加到比当前时间更早的(日期+时间)吗?预订过去的航班是没有意义的,即使它只有一个小时。不过,我的问题是我必须有单独的 DateField() 和 TimeField();不是一个 DateTimeField()。
【问题讨论】:
-
考虑覆盖模型的
save方法。 -
正如@karthikr 所说,覆盖 save() mehotd 会处理它,如果你有某种带有 JS 的 datepicker 小部件,你只能在 datepicker 上显示正确的日期。
-
您是否可以曾经保存过去的日期?即对于过去的事件,您是否可以编辑其信息但不保留日期?
-
@karthikr 你好。如果您可以详细说明一个示例并将其放在答案中,那么我可以尝试您的解决方案并接受您的答案!
-
@Thomas 抱歉,我不明白你在说什么。
标签: python django django-models django-admin