def to_native(self, value): """ Converts the field's value into it's simple representation. """ if is_simple_callable(value): value = value() if is_protected_type(value): return value elif is_non_str_iterable(value) and not isinstance(value, (dict, six.string_types)): return [self.to_native(item) for item in value] elif isinstance(value, dict): # Make sure we preserve field ordering, if it exists ret = SortedDict() for key, val in value.items(): ret[key] = self.to_native(val) return ret return force_text(value)
def to_native(self, value): """ Converts the field's value into it's simple representation. """ if is_simple_callable(value): value = value() if is_protected_type(value): return value elif (is_non_str_iterable(value) and not isinstance(value, (dict, six.string_types))): return [self.to_native(item) for item in value] elif isinstance(value, dict): # Make sure we preserve field ordering, if it exists ret = SortedDict() for key, val in value.items(): ret[key] = self.to_native(val) return ret return force_text(value)