我在从表单中保存日期时间对象时遇到问题。表单小部件给了我这样的文本字符串:2012-09-20 04:41 PM
我正在尝试覆盖表单中的 clean 方法,如下所示:
class LegForm(ModelForm):
formfield_callback = make_custom_field
class Meta:
model = Leg
exclude = ('riders', 'drivers', 'open_to_prefs','carpool')
widgets = { 'days': forms.CheckboxSelectMultiple }
def clean_drive_date_time(self):
twelve_hour = self.cleaned_data['drive_date_time']
print "drive time: " + str(twelve_hour)
data = datetime.strptime(twelve_hour, "%Y-%m-%d %I:%M %p")
print "24 hour drive time: " + str(data)
return data
strptime 语句从命令行运行,并为我提供了一个有效的日期时间对象,但是当我在上面显示的项目中尝试它时,我的表单上出现错误,告诉我“输入有效的日期/时间”。
如果我使用 24 小时格式,我可以在不覆盖 clean 方法的情况下保存日期时间,但这对最终用户来说更加困难。任何帮助表示赞赏。谢谢!