【问题标题】:Saving DateTimeField with mongoengine使用 mongoengine 保存 DateTimeField
【发布时间】:2013-05-16 20:40:14
【问题描述】:

使用 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-%m-%d')

【问题讨论】:

    标签: django mongoengine


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-20
      • 2017-08-10
      • 2015-06-19
      • 2019-05-28
      • 2016-10-31
      • 2013-03-29
      • 2016-10-09
      相关资源
      最近更新 更多