]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
added items() method to RowProxy + unittest, courtesy dialtone@divmod.com
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 28 Feb 2006 22:50:43 +0000 (22:50 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 28 Feb 2006 22:50:43 +0000 (22:50 +0000)
lib/sqlalchemy/engine.py
test/query.py

index ade10a382082b1373daf15fa6ef23da0228bfc79..1b1ec94adf4145dc368a17459369b8d24689a34f 100644 (file)
@@ -705,6 +705,8 @@ class RowProxy:
             return self.__parent._get_col(self.__row, name)
         except:
             raise AttributeError
+    def items(self):
+        return [(key, getattr(self, key)) for key in self.keys()]
     def keys(self):
         return self.__parent.keys
     def values(self): 
index 0c0a3ce9cd9f15c46b5de63b4af23e59dea71c22..3b4653c4efa4ebea859582818ae2f7c204cc5893 100644 (file)
@@ -170,6 +170,11 @@ class QueryTest(PersistTest):
         r = self.users.select().execute().fetchone()
         self.assertEqual(r.keys(), ['user_id', 'user_name'])
 
+    def test_items(self):
+        self.users.insert().execute(user_id=1, user_name='foo')
+        r = self.users.select().execute().fetchone()
+        self.assertEqual(r.items(), [('user_id', 1), ('user_name', 'foo')])
+
     def test_len(self):
         self.users.insert().execute(user_id=1, user_name='foo')
         r = self.users.select().execute().fetchone()