From eafb7e1e24c31f0a6795ef5b8ac52940569d5854 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 7 Nov 2014 11:44:16 +0000 Subject: ModelField fix. Closes #2018. --- rest_framework/fields.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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): -- cgit v1.2.3