From 18d8008b895d0f0a1f94bf23b0e93dba666ef4e7 Mon Sep 17 00:00:00 2001 From: Paul Swartz Date: Tue, 28 May 2013 15:59:32 -0400 Subject: [PATCH] if `dateutil` is available, use it to parse datetimes In particular, this picks up the default `datetime.isoformat()` output, with a "T" as the separator. --- mongoengine/fields.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mongoengine/fields.py b/mongoengine/fields.py index df2c19e2..8ea48c25 100644 --- a/mongoengine/fields.py +++ b/mongoengine/fields.py @@ -7,6 +7,12 @@ import urllib2 import uuid import warnings from operator import itemgetter +try: + import dateutil +except ImportError: + dateutil = None +else: + import dateutil.parser import pymongo import gridfs @@ -371,6 +377,8 @@ class DateTimeField(BaseField): return value() # Attempt to parse a datetime: + if dateutil: + return dateutil.parser.parse(value) # value = smart_str(value) # split usecs, because they are not recognized by strptime. if '.' in value: