diff options
| author | Piper Merriam | 2014-05-22 13:51:20 -0600 | 
|---|---|---|
| committer | Piper Merriam | 2014-05-22 15:18:51 -0600 | 
| commit | 807f7a6bb9e36321f3487b5ac31ef5fdc8f4b3fb (patch) | |
| tree | e70854a7b5465b34d2fc4fc703fae2f8f8f4b26d /rest_framework/serializers.py | |
| parent | 01e2a342101dc66f5d69916c99bf2a78682fdb82 (diff) | |
| download | django-rest-framework-807f7a6bb9e36321f3487b5ac31ef5fdc8f4b3fb.tar.bz2 | |
Fix _resolve_model to work with unicode strings
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 87d20cfc..c2b414d7 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -49,7 +49,7 @@ def _resolve_model(obj):      String representations should have the format:          'appname.ModelName'      """ -    if type(obj) == str and len(obj.split('.')) == 2: +    if isinstance(obj, six.string_types) and len(obj.split('.')) == 2:          app_name, model_name = obj.split('.')          return models.get_model(app_name, model_name)      elif inspect.isclass(obj) and issubclass(obj, models.Model): @@ -759,9 +759,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'  +        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 been specified          # in the `read_only_fields` option @@ -776,10 +776,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 iterable -        assert isinstance(self.opts.write_only_fields, (list, tuple)), '`write_only_fields` must be a list or tuple'  -         +        assert isinstance(self.opts.write_only_fields, (list, tuple)), '`write_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 " @@ -790,7 +790,7 @@ class ModelSerializer(Serializer):                  "Non-existant field '%s' specified in `write_only_fields` "                  "on serializer '%s'." %                  (field_name, self.__class__.__name__)) -            ret[field_name].write_only = True             +            ret[field_name].write_only = True          return ret | 
