Merge pull request #1920 from thedrow/topic/encoder-improvements

The JSON encoder now uses tuples instead of lists
This commit is contained in:
Tom Christie 2014-10-09 08:31:46 +01:00
commit 87fdc73f64

View File

@ -45,7 +45,7 @@ class JSONEncoder(json.JSONEncoder):
# Serializers will coerce decimals to strings by default. # Serializers will coerce decimals to strings by default.
return float(obj) return float(obj)
elif isinstance(obj, QuerySet): elif isinstance(obj, QuerySet):
return list(obj) return tuple(obj)
elif hasattr(obj, 'tolist'): elif hasattr(obj, 'tolist'):
# Numpy arrays and array scalars. # Numpy arrays and array scalars.
return obj.tolist() return obj.tolist()
@ -55,7 +55,7 @@ class JSONEncoder(json.JSONEncoder):
except: except:
pass pass
elif hasattr(obj, '__iter__'): elif hasattr(obj, '__iter__'):
return [item for item in obj] return tuple(item for item in obj)
return super(JSONEncoder, self).default(obj) return super(JSONEncoder, self).default(obj)