ModelField fix. Closes #2018.

This commit is contained in:
Tom Christie 2014-11-07 11:44:16 +00:00
parent a16a8a10a9
commit eafb7e1e24

View File

@ -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):