[Checkins] SVN: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/ added asDict() to mapper base class

Andreas Jung andreas at andreas-jung.com
Tue Jan 15 07:31:00 EST 2008


Log message for revision 82894:
  added asDict() to mapper base class
  

Changed:
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/tests/testSQLAlchemy.py

-=-
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py	2008-01-15 12:23:12 UTC (rev 82893)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py	2008-01-15 12:31:00 UTC (rev 82894)
@@ -49,6 +49,14 @@
         return self.__class__(**d)
 
 
+    def asDict(self):
+        """ Return row values as a dict """
+        d= dict()
+        for col in self.c.keys():
+            d[col] = getattr(self, col)
+        return d
+
+
     def getMapper(self, name):
         """ Return a mapper associated with the current mapper.
             If this mapper represents a table A having a relationship

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/tests/testSQLAlchemy.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/tests/testSQLAlchemy.py	2008-01-15 12:23:12 UTC (rev 82893)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/tests/testSQLAlchemy.py	2008-01-15 12:31:00 UTC (rev 82894)
@@ -78,8 +78,11 @@
         session.save(User(id=2, firstname='heino', lastname='n/a'))
         session.flush()
         
-        rows = session.query(User).all()
+        rows = session.query(User).order_by(User.c.id).all()
         self.assertEqual(len(rows), 2)
+        row1 = rows[0]
+        d = row1.asDict()
+        self.assertEqual(d, {'firstname' : 'udo', 'lastname' : 'juergens', 'id' : 1})
 
 
     def testMapperWithCustomModel(self):



More information about the Checkins mailing list