使用mongoengine保存DateTimeField

时间:2013-05-16 20:40:14

标签: django mongoengine

使用Django框架(1.3.1)和Mongoengine。

尝试保存已过帐的字段(截止日期)时,会以

退出
  

ValidationError(无法解析日期“2013-12-31”:['DueDate'])

但是,通过datetime.datetime.now()保存日期时效果很好。在搜索了例子后,我没有选择。

我的代码的相关部分(使用文本输入标记的普通HTML表单):

views.py

goal.DueDate = request.POST['duedate']
goal.save()

models.py

class Goal(Document):
    DueDate = DateTimeField()
    last_update = DateTimeField(required=True)

有什么想法吗?

更新(暂不回答):

好的......找到了解决方案。打字,显然给了新的见解。

  

goal.DueDate = datetime.datetime.strptime(request.POST ['duedate'],   '%Y-%间 - %d')

1 个答案:

答案 0 :(得分:2)

DateTimeField需要一个日期时间,而不是字符串 如果格式众所周知,您可以在更新中使用strptime,或者使用能够猜测格式的dateutil parse method

您还应该考虑从网络侧采用更安全的ISO格式字符串发送。