Commit 5c87db96 by elmkarami

Update serializers.py

Prevent iterating over a string that is supposed to be an iterable <==> Prevent read_only_fields = ('some_string)
parent 24a68822
......@@ -757,6 +757,9 @@ class ModelSerializer(Serializer):
field.read_only = True
ret[accessor_name] = field
#Ensure that 'read_only_fields is an iterable
assert isinstance(self.opts.read_only_fields, (list, tuple)), '`read_only_fields` must be a list or tuple'
# Add the `read_only` flag to any fields that have bee specified
# in the `read_only_fields` option
......@@ -771,7 +774,10 @@ class ModelSerializer(Serializer):
"on serializer '%s'." %
(field_name, self.__class__.__name__))
ret[field_name].read_only = True
# Ensure that 'write_only_fields' is an iterabe
assert isinstance(self.opts.write_only_fields, (list, tuple)), '`read_only_fields` must be a list or tuple'
for field_name in self.opts.write_only_fields:
assert field_name not in self.base_fields.keys(), (
"field '%s' on serializer '%s' specified in "
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment