5

使用 Django 框架 (1.3.1) 和 Mongoengine。

当尝试保存已发布的字段(截止日期)时,它会使用

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

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

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

视图.py

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

模型.py

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

任何想法?

更新(还不能回答自己):

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

目标.DueDate = datetime.datetime.strptime(request.POST['duedate'], '%Y-%m-%d')

4

1 回答 1

3

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

您还应该考虑采用更安全的 ISO 格式字符串从 Web 端以表单形式发送。

于 2013-05-17T10:45:53.180 回答