【发布时间】:2013-06-18 04:35:51
【问题描述】:
forms.py
class SearchFilterForm(Form):
fromdate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'}))
todate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'}))
models.py
class Report(models.Model):
user = models.ForeignKey(User, null=False)
created_date_time = models.DateTimeField('Created')
sent_date_time = models.DateTimeField('Sent')
在数据库中,日期对象以这种格式保存YYYY-MM-DD HH:MM,我在 forms.py 中使用格式为dd/mm/yyyy。如果我在 form.Since 中使用 yyyy-mm-dd 格式,我不会收到任何错误我在表单中使用了 dd/mm/yyyy 格式,但出现此验证错误。我想知道如何处理。
【问题讨论】:
-
我希望希望数据根本不会以文本形式存储在数据库中。您应该尽可能避免字符串转换 - 如果可能的话,从数据库中获取数据 as 日期/时间类型。我不太了解 Django,无法提供帮助,但这应该是您的目标。
-
@JonSkeet 幸运的是,Django 确实使用日期字段将日期存储在数据库中 - 但我假设 Monk 碰巧使用的任何工具都以这种文本格式输出日期:)
-
@ThomasOrozco:这也是我的期望。我认为了解数据的固有性质与其在某些工具或其他工具中的文本表示之间的区别非常重要。
-
@JonSkeet 我完全同意!
标签: django django-models django-forms django-templates django-views