Commit ad336cc6 by Tom Christie

Fix broken `None` value for `TimeField`.

Refs #707.
parent f5a8f172
...@@ -536,8 +536,10 @@ class DateField(WritableField): ...@@ -536,8 +536,10 @@ class DateField(WritableField):
def to_native(self, value): def to_native(self, value):
if value is None: if value is None:
return None return None
if isinstance(value, datetime.datetime): if isinstance(value, datetime.datetime):
value = value.date() value = value.date()
if self.format.lower() == ISO_8601: if self.format.lower() == ISO_8601:
return value.isoformat() return value.isoformat()
return value.strftime(self.format) return value.strftime(self.format)
...@@ -603,6 +605,7 @@ class DateTimeField(WritableField): ...@@ -603,6 +605,7 @@ class DateTimeField(WritableField):
def to_native(self, value): def to_native(self, value):
if value is None: if value is None:
return None return None
if self.format.lower() == ISO_8601: if self.format.lower() == ISO_8601:
return value.isoformat() return value.isoformat()
return value.strftime(self.format) return value.strftime(self.format)
...@@ -653,8 +656,12 @@ class TimeField(WritableField): ...@@ -653,8 +656,12 @@ class TimeField(WritableField):
raise ValidationError(msg) raise ValidationError(msg)
def to_native(self, value): def to_native(self, value):
if value is None:
return None
if isinstance(value, datetime.datetime): if isinstance(value, datetime.datetime):
value = value.time() value = value.time()
if self.format.lower() == ISO_8601: if self.format.lower() == ISO_8601:
return value.isoformat() return value.isoformat()
return value.strftime(self.format) return value.strftime(self.format)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment