diff -r 6641e941ef1e -r ff1a9aa48cfd app/django/core/serializers/base.py --- a/app/django/core/serializers/base.py Tue Oct 14 12:36:55 2008 +0000 +++ b/app/django/core/serializers/base.py Tue Oct 14 16:00:59 2008 +0000 @@ -2,12 +2,11 @@ Module for abstract serializer/unserializer base classes. """ -try: - from cStringIO import StringIO -except ImportError: - from StringIO import StringIO +from StringIO import StringIO + from django.db import models from django.utils.encoding import smart_str, smart_unicode +from django.utils import datetime_safe class SerializationError(Exception): """Something bad happened during serialization.""" @@ -38,7 +37,7 @@ self.start_serialization() for obj in queryset: self.start_object(obj) - for field in obj._meta.fields: + for field in obj._meta.local_fields: if field.serialize: if field.rel is None: if self.selected_fields is None or field.attname in self.selected_fields: @@ -58,11 +57,7 @@ """ Convert a field's value to a string. """ - if isinstance(field, models.DateTimeField): - value = getattr(obj, field.name).strftime("%Y-%m-%d %H:%M:%S") - else: - value = field.flatten_data(follow=None, obj=obj).get(field.name, "") - return smart_unicode(value) + return smart_unicode(field.value_to_string(obj)) def start_serialization(self): """