diff options
| author | Tom Christie | 2012-10-04 22:07:24 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-10-04 22:07:24 +0100 |
| commit | 693892ed0104b8ce8cd801e7bec6107feeb88782 (patch) | |
| tree | ae049236abc6868c0b48803a04e8dc7cd4d5040c /rest_framework/fields.py | |
| parent | cc0d2601b8dfdf3f5fcee8591540b9cb4b2f3e44 (diff) | |
| download | django-rest-framework-693892ed0104b8ce8cd801e7bec6107feeb88782.tar.bz2 | |
Fix for field to make it easier to access field relationships
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index be918235..b9ac3776 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -83,6 +83,10 @@ class Field(object): if is_protected_type(value): return value + + all_callable = getattr(value, 'all', None) + if is_simple_callable(all_callable): + return [self.to_native(item) for item in value.all()] elif hasattr(value, '__iter__') and not isinstance(value, (dict, basestring)): return [self.to_native(item) for item in value] return smart_unicode(value) @@ -197,7 +201,7 @@ class ModelField(WritableField): value = self.model_field._get_val_from_obj(obj) if is_protected_type(value): return value - return self.model_field.value_to_string(self.obj) + return self.model_field.value_to_string(obj) def attributes(self): return { |
