diff options
| -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 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): | 
