aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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):