diff --git a/django/contrib/gis/gdal/field.py b/django/contrib/gis/gdal/field.py index ad1feb3d22..6374bc7d80 100644 --- a/django/contrib/gis/gdal/field.py +++ b/django/contrib/gis/gdal/field.py @@ -127,34 +127,34 @@ class OFTDate(Field): @property def value(self): "Returns a Python `date` object for the OFTDate field." - yy, mm, dd, hh, mn, ss, tz = self.as_datetime() try: + yy, mm, dd, hh, mn, ss, tz = self.as_datetime() return date(yy.value, mm.value, dd.value) - except ValueError: + except (ValueError, OGRException): return None class OFTDateTime(Field): @property def value(self): "Returns a Python `datetime` object for this OFTDateTime field." - yy, mm, dd, hh, mn, ss, tz = self.as_datetime() # TODO: Adapt timezone information. # See http://lists.maptools.org/pipermail/gdal-dev/2006-February/007990.html # The `tz` variable has values of: 0=unknown, 1=localtime (ambiguous), # 100=GMT, 104=GMT+1, 80=GMT-5, etc. try: + yy, mm, dd, hh, mn, ss, tz = self.as_datetime() return datetime(yy.value, mm.value, dd.value, hh.value, mn.value, ss.value) - except ValueError: + except (ValueError, OGRException): return None class OFTTime(Field): @property def value(self): "Returns a Python `time` object for this OFTTime field." - yy, mm, dd, hh, mn, ss, tz = self.as_datetime() try: + yy, mm, dd, hh, mn, ss, tz = self.as_datetime() return time(hh.value, mn.value, ss.value) - except ValueError: + except (ValueError, OGRException): return None # List fields are also just subclasses