将datetime字符串保存到DateTime字段会返回验证错误

时间:2014-12-12 18:17:41

标签: python django

我正在尝试将此值2013-05-01T00:00:00.000+02:00保存到django中的DateTimeField,但我在保存时遇到验证错误。

任何人都知道可能出现什么问题?

这是Model,

class Entry(models.Model):
            name = models.CharField(max_length=500, )  
            published = models.DateTimeField(blank=True, null=True)   

-

@task()
def import_entry_from_xml(data):
    #Import function 
    entry = Entry(name=values['name'])
    if hasattr(data, 'published'):
          entry.published = data['published'] #Returns 2013-05-01T00:00:00.000+02:00     
    entry.save()                    

Errror:

ValidationError: [u"'' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]

1 个答案:

答案 0 :(得分:1)

DateTimeField期望Python datetime对象,而不是字符串。使用strptime将字符串转换为datetime

hasattr电话几乎肯定也是错误的。如果您想查看published词典中是否有data,请使用if 'published' in data: