aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2014-11-07 11:44:16 +0000
committerTom Christie2014-11-07 11:44:16 +0000
commiteafb7e1e24c31f0a6795ef5b8ac52940569d5854 (patch)
treed77342c688eb7dff640deeae116391f04cdfdf75
parenta16a8a10a9204e574ad912eeced535d70a385b37 (diff)
downloaddjango-rest-framework-eafb7e1e24c31f0a6795ef5b8ac52940569d5854.tar.bz2
ModelField fix. Closes #2018.
-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 95cda2ce..4933d8db 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -1180,7 +1180,6 @@ class ModelField(Field):
def __init__(self, model_field, **kwargs):
self.model_field = model_field
- kwargs['source'] = '*'
# The `max_length` option is supported by Django's base `Field` class,
# so we'd better support it here.
max_length = kwargs.pop('max_length', None)
@@ -1195,6 +1194,11 @@ class ModelField(Field):
return rel.to._meta.get_field(rel.field_name).to_python(data)
return self.model_field.to_python(data)
+ def get_attribute(self, obj):
+ # We pass the object instance onto `to_representation`,
+ # not just the field attribute.
+ return obj
+
def to_representation(self, obj):
value = self.model_field._get_val_from_obj(obj)
if is_protected_type(value):