app/django/core/serializers/base.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
--- 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):
         """