Fixed #16850 -- Made sure we always represent Decimal instances with JS strings when serializing.

We force this when calling simplejson dump() to isolate us from changes of
default behavior to encode them with JavaScript numbers instead that could
introduce loss of precision when decoding back from JSON to Python.

Thanks Raphael Hertzog for the report and Bob Ippolito for his help.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17228 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Ramiro Morales 2011-12-17 22:10:37 +00:00
parent e31c43a360
commit b5d9ad982d
1 changed files with 1 additions and 0 deletions

View File

@ -18,6 +18,7 @@ class Serializer(PythonSerializer):
internal_use_only = False
def end_serialization(self):
self.options.update({'use_decimal': False}) # Use JS strings to represent Python Decimal instances (ticket #16850)
simplejson.dump(self.objects, self.stream, cls=DjangoJSONEncoder, **self.options)
def getvalue(self):