使用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格式字符串发送.