Python django.utils.encoding.is_protected_type() Examples
The following are 8
code examples of django.utils.encoding.is_protected_type().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.utils.encoding
, or try the search function
.
Example #1
Source File: models.py From django-modelcluster with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_field_value(field, model): if field.remote_field is None: value = field.pre_save(model, add=model.pk is None) # Make datetimes timezone aware # https://github.com/django/django/blob/master/django/db/models/fields/__init__.py#L1394-L1403 if isinstance(value, datetime.datetime) and settings.USE_TZ: if timezone.is_naive(value): default_timezone = timezone.get_default_timezone() value = timezone.make_aware(value, default_timezone).astimezone(timezone.utc) # convert to UTC value = timezone.localtime(value, timezone.utc) if is_protected_type(value): return value else: return field.value_to_string(model) else: return getattr(model, field.get_attname())
Example #2
Source File: fields.py From esdc-ce with Apache License 2.0 | 6 votes |
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 = collections.OrderedDict() for key, val in value.items(): ret[key] = self.to_native(val) return ret return force_text(value)
Example #3
Source File: python.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def handle_field(self, obj, field): value = field._get_val_from_obj(obj) # Protected types (i.e., primitives like None, numbers, dates, # and Decimals) are passed through as is. All other values are # converted to string first. if is_protected_type(value): self._current[field.name] = value else: self._current[field.name] = field.value_to_string(obj)
Example #4
Source File: python.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def handle_fk_field(self, obj, field): if self.use_natural_foreign_keys and hasattr(field.rel.to, 'natural_key'): related = getattr(obj, field.name) if related: value = related.natural_key() else: value = None else: value = getattr(obj, field.get_attname()) if not is_protected_type(value): value = field.value_to_string(obj) self._current[field.name] = value
Example #5
Source File: python.py From luscan-devel with GNU General Public License v2.0 | 5 votes |
def handle_field(self, obj, field): value = field._get_val_from_obj(obj) # Protected types (i.e., primitives like None, numbers, dates, # and Decimals) are passed through as is. All other values are # converted to string first. if is_protected_type(value): self._current[field.name] = value else: self._current[field.name] = field.value_to_string(obj)
Example #6
Source File: fields.py From Dailyfresh-B2C with Apache License 2.0 | 5 votes |
def to_representation(self, obj): value = self.model_field.value_from_object(obj) if is_protected_type(value): return value return self.model_field.value_to_string(obj)
Example #7
Source File: fields.py From esdc-ce with Apache License 2.0 | 5 votes |
def field_to_native(self, obj, field_name): # noinspection PyProtectedMember value = self.model_field._get_val_from_obj(obj) if is_protected_type(value): return value return self.model_field.value_to_string(obj)
Example #8
Source File: base.py From maas with GNU Affero General Public License v3.0 | 4 votes |
def full_dehydrate(self, obj, for_list=False): """Convert the given object into a dictionary. :param for_list: True when the object is being converted to belong in a list. """ if for_list: allowed_fields = self._meta.list_fields exclude_fields = self._meta.list_exclude else: allowed_fields = self._meta.fields exclude_fields = self._meta.exclude data = {} for field in self._meta.object_class._meta.fields: # Convert the field name to unicode as some are stored in bytes. field_name = str(field.name) # Skip fields that are not allowed. if allowed_fields is not None and field_name not in allowed_fields: continue if exclude_fields is not None and field_name in exclude_fields: continue # Get the value from the field and set it in data. The value # will pass through the dehydrate method if present. field_obj = getattr(obj, field_name) dehydrate_method = getattr(self, "dehydrate_%s" % field_name, None) if dehydrate_method is not None: data[field_name] = dehydrate_method(field_obj) else: value = field.value_from_object(obj) if is_protected_type(value) or isinstance(value, dict): data[field_name] = value elif isinstance(field, ArrayField): data[field_name] = field.to_python(value) else: data[field_name] = field.value_to_string(obj) # Add permissions that can be performed on this object. data = self._add_permissions(obj, data) # Return the data after the final dehydrate. return self.dehydrate(obj, data, for_list=for_list)