diff options
| author | Tom Christie | 2013-05-15 14:25:25 +0100 |
|---|---|---|
| committer | Tom Christie | 2013-05-15 14:25:25 +0100 |
| commit | af88a5b1751da32018e8408eac01a91a5f63f8ce (patch) | |
| tree | 3ba05eef46fbadde87969cf30f625e9c15eeb73a /rest_framework/serializers.py | |
| parent | 092d5223eb7ea1bbf9b6bb967200cb3725e02112 (diff) | |
| download | django-rest-framework-af88a5b1751da32018e8408eac01a91a5f63f8ce.tar.bz2 | |
Test and fix which closes #652.
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index ecff2c52..7707de7a 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -649,8 +649,14 @@ class ModelSerializer(Serializer): # Add the `read_only` flag to any fields that have bee specified # in the `read_only_fields` option for field_name in self.opts.read_only_fields: + assert field_name not in self.base_fields.keys(), \ + "field '%s' on serializer '%s' specfied in " \ + "`read_only_fields`, but also added " \ + "as an explict field. Remove it from `read_only_fields`." % \ + (field_name, self.__class__.__name__) assert field_name in ret, \ - "read_only_fields on '%s' included invalid item '%s'" % \ + "Noexistant field '%s' specified in `read_only_fields` " \ + "on serializer '%s'." % \ (self.__class__.__name__, field_name) ret[field_name].read_only = True |
