aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorTom Christie2012-10-04 22:07:24 +0100
committerTom Christie2012-10-04 22:07:24 +0100
commit693892ed0104b8ce8cd801e7bec6107feeb88782 (patch)
treeae049236abc6868c0b48803a04e8dc7cd4d5040c /rest_framework/fields.py
parentcc0d2601b8dfdf3f5fcee8591540b9cb4b2f3e44 (diff)
downloaddjango-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.py6
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 {