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