diff -r 6641e941ef1e -r ff1a9aa48cfd app/django/core/serializers/json.py --- a/app/django/core/serializers/json.py Tue Oct 14 12:36:55 2008 +0000 +++ b/app/django/core/serializers/json.py Tue Oct 14 16:00:59 2008 +0000 @@ -3,13 +3,13 @@ """ import datetime -from django.utils import simplejson +from StringIO import StringIO + from django.core.serializers.python import Serializer as PythonSerializer from django.core.serializers.python import Deserializer as PythonDeserializer -try: - from cStringIO import StringIO -except ImportError: - from StringIO import StringIO +from django.utils import datetime_safe +from django.utils import simplejson + try: import decimal except ImportError: @@ -20,7 +20,7 @@ Convert a queryset to JSON. """ internal_use_only = False - + def end_serialization(self): self.options.pop('stream', None) self.options.pop('fields', None) @@ -51,9 +51,11 @@ def default(self, o): if isinstance(o, datetime.datetime): - return o.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT)) + d = datetime_safe.new_datetime(o) + return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT)) elif isinstance(o, datetime.date): - return o.strftime(self.DATE_FORMAT) + d = datetime_safe.new_date(o) + return d.strftime(self.DATE_FORMAT) elif isinstance(o, datetime.time): return o.strftime(self.TIME_FORMAT) elif isinstance(o, decimal.Decimal):