Python DateTimeField的格式

Python DateTimeField的格式,python,django,Python,Django,可能重复: 在Django中,当我尝试将字符串“22-DEC-2009”分配给模型中的日期时间字段时,会出现以下错误:“以YYYY-MM-DD HH:MM[:ss[.uuuuuu]]格式输入有效日期/时间。” 如何使DateTimeField接受格式为“22-DEC-2009”的日期字符串?您可以将输入格式作为input\u formats参数传递给DateTimeField,因此您可以这样做 # you can keep a list of formats yourself, or copy

可能重复:

在Django中,当我尝试将字符串“22-DEC-2009”分配给模型中的日期时间字段时,会出现以下错误:“以YYYY-MM-DD HH:MM[:ss[.uuuuuu]]格式输入有效日期/时间。”


如何使DateTimeField接受格式为“22-DEC-2009”的日期字符串?

您可以将输入格式作为
input\u formats
参数传递给
DateTimeField
,因此您可以这样做

# you can keep a list of formats yourself, or copy from django 1.2 version e.g.
# my_formats = fields.DEFAULT_DATETIME_INPUT_FORMATS + ['%d-%b-%Y']
# for latest django use this
from django.utils.formats import get_format
my_formats = get_format('DATETIME_INPUT_FORMATS')
field = DateTimeField(input_formats=my_formats,...)
如果您想直接将日期str分配给
模型。DateTimeField
最好的方法是将其转换为
datetime
,例如

mymodel.date_of_birth = datetime.datetime.strptime("22-DEC-2009", "%d-%b-%Y")

不接受models.DateTimeField的参数输入格式。@Vishal,它说什么?您使用的是什么版本?@Anurag Error:“/django/db/models/fields/\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu“/django/db/models/fields不包含默认的\u DATETIME\u INPUT\u格式,但是/django/forms/fields.py包含(使代码运行)有用的post:yes form.fields没有db@hobs在这种情况下,从旧版本复制格式或使用新方法(编辑答案)