Fix broken None value for TimeField.

Refs #707.
This commit is contained in:
Tom Christie 2013-03-07 09:03:53 +00:00
parent f5a8f172a3
commit ad336cc636

View File

@ -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):
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):
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)