我正在django中创建一个应用程序,我有下一个问题:
我有一个具有属性“date”的模型,我以这种格式保存日期:YYYY-MM-DD。
但是当我得到一个实例,并且我得到该实例的日期属性值时,日期为:“2015年10月10日”,以便我收到错误:
[u"'Oct.' value has an invalid date format. It must be in YYYY-MM-DD format."]
如何解决此错误?有没有办法将“2015年10月10日”格式化为YYYY-MM-DD?
非常感谢你!
答案 0 :(得分:1)
对于输入Oct. 10, 2015
,您需要这样写:
from datetime import datetime
datetime.strptime('Oct. 10, 2015', '%b. %d, %Y')
Django的DateField直接保存datetime对象,因此将输入字符串转换为所需的格式。
您可以尝试使用以下格式输入以下数据:
class SomeForm(forms.modelform):
date_input_field = forms.CharField()
def clean_date_input_field(self):
try:
return datetime.strptime(self.cleaned_data['date_input_field'], '%d/%m/%Y')
except:
return datetime.strptime(self.cleaned_data['date_input_field'], '%b. %d, %Y')
class Meta:
...
或在input_format中添加'%b. %d, %Y'
。