diff --git a/rest_framework/compat.py b/rest_framework/compat.py index 2f4729214..d6559d5f5 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -96,7 +96,7 @@ def unicode_to_repr(value): def unicode_http_header(value): # Coerce HTTP header value to unicode. - if isinstance(value, six.binary_type): + if isinstance(value, bytes): return value.decode('iso-8859-1') return value diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 3378de368..61f3451b0 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1780,7 +1780,7 @@ class JSONField(Field): def to_internal_value(self, data): try: if self.binary or getattr(data, 'is_json_string', False): - if isinstance(data, six.binary_type): + if isinstance(data, bytes): data = data.decode('utf-8') return json.loads(data) else: diff --git a/rest_framework/utils/encoders.py b/rest_framework/utils/encoders.py index fe8f76dd5..d8f4aeb4e 100644 --- a/rest_framework/utils/encoders.py +++ b/rest_framework/utils/encoders.py @@ -47,7 +47,7 @@ class JSONEncoder(json.JSONEncoder): return six.text_type(obj) elif isinstance(obj, QuerySet): return tuple(obj) - elif isinstance(obj, six.binary_type): + elif isinstance(obj, bytes): # Best-effort for binary blobs. See #4187. return obj.decode('utf-8') elif hasattr(obj, 'tolist'):