django – 使用mongoengine保存DateTimeField

使用Django框架(1.3.1)和Mongoengine.

当试图保存一个已发布的字段(到期日期)时,它会以a

ValidationError (cannot parse date “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-%m-%d’)

最佳答案 DateTimeField需要日期时间,而不是字符串.

如果格式众所周知,您可以在更新中使用strptime,或者使用能够猜测格式的
dateutil parse method.

您还应该考虑从Web端采用更安全的ISO格式字符串发送.

点赞