Author: Alex
Date: 2009-11-23 10:44:22 -0600 (Mon, 23 Nov 2009)
New Revision: 11771

Modified:
   django/branches/soc2009/multidb/django/core/serializers/base.py
   django/branches/soc2009/multidb/tests/modeltests/serializers/models.py
Log:
[soc2009/multidb] Fix the output method of DeserializedObject - we can't assume 
deserialized objects already exist in the database.  Patch from Russell 
Keith-Magee.

Modified: django/branches/soc2009/multidb/django/core/serializers/base.py
===================================================================
--- django/branches/soc2009/multidb/django/core/serializers/base.py     
2009-11-23 16:44:05 UTC (rev 11770)
+++ django/branches/soc2009/multidb/django/core/serializers/base.py     
2009-11-23 16:44:22 UTC (rev 11771)
@@ -152,7 +152,8 @@
         self.m2m_data = m2m_data
 
     def __repr__(self):
-        return "<DeserializedObject: %s>" % smart_str(self.object)
+        return "<DeserializedObject: %s.%s(pk=%s)>" % (
+            self.object._meta.app_label, self.object._meta.object_name, 
self.object.pk)
 
     def save(self, save_m2m=True, using=None):
         # Call save on the Model baseclass directly. This bypasses any

Modified: django/branches/soc2009/multidb/tests/modeltests/serializers/models.py
===================================================================
--- django/branches/soc2009/multidb/tests/modeltests/serializers/models.py      
2009-11-23 16:44:05 UTC (rev 11770)
+++ django/branches/soc2009/multidb/tests/modeltests/serializers/models.py      
2009-11-23 16:44:22 UTC (rev 11771)
@@ -149,8 +149,8 @@
 # database since the data was serialized (we'll simulate that below).
 >>> for obj in serializers.deserialize("xml", xml):
 ...     print obj
-<DeserializedObject: Poker has no place on ESPN>
-<DeserializedObject: Time to reform copyright>
+<DeserializedObject: serializers.Article(pk=1)>
+<DeserializedObject: serializers.Article(pk=2)>
 
 # Deserializing data with different field values doesn't change anything in the
 # database until we call save():
@@ -183,8 +183,8 @@
 >>> json = serializers.serialize("json", Article.objects.all())
 >>> for obj in serializers.deserialize("json", json):
 ...     print obj
-<DeserializedObject: Poker has no place on television>
-<DeserializedObject: Time to reform copyright>
+<DeserializedObject: serializers.Article(pk=1)>
+<DeserializedObject: serializers.Article(pk=2)>
 
 >>> json = json.replace("Poker has no place on television", "Just kidding; I 
 >>> love TV poker")
 >>> for obj in serializers.deserialize("json", json):
@@ -205,7 +205,7 @@
 
 >>> for obj in serializers.deserialize("json", json):
 ...     print obj
-<DeserializedObject: Profile of Joe>
+<DeserializedObject: serializers.AuthorProfile(pk=1)>
 
 # Objects ids can be referenced before they are defined in the serialization 
data
 # However, the deserialization process will need to be contained within a 
transaction
@@ -275,7 +275,7 @@
 
 >>> obj = list(serializers.deserialize("json", serialized))[0]
 >>> print obj
-<DeserializedObject: Soslan Djanaev (1) playing for Spartak Moskva>
+<DeserializedObject: serializers.Player(pk=1)>
 
 """}
 
@@ -310,8 +310,8 @@
 >>> obs = list(serializers.deserialize("yaml", serialized))
 >>> for i in obs:
 ...     print i
-<DeserializedObject: Just kidding; I love TV poker>
-<DeserializedObject: Time to reform copyright>
+<DeserializedObject: serializers.Article(pk=1)>
+<DeserializedObject: serializers.Article(pk=2)>
 
 # Custom field with non trivial to string convertion value with YAML serializer
 
@@ -324,7 +324,7 @@
 >>> serialized = serializers.serialize("yaml", Player.objects.all())
 >>> obj = list(serializers.deserialize("yaml", serialized))[0]
 >>> print obj
-<DeserializedObject: Soslan Djanaev (1) playing for Spartak Moskva>
+<DeserializedObject: serializers.Player(pk=1)>
 
 
 """

--

You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=.


Reply via email to