From 7c1bb1f7a23464191461f5793c323dd7637ba594 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 28 Feb 2006 22:50:43 +0000 Subject: [PATCH] added items() method to RowProxy + unittest, courtesy dialtone@divmod.com --- lib/sqlalchemy/engine.py | 2 ++ test/query.py | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index ade10a3820..1b1ec94adf 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -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): diff --git a/test/query.py b/test/query.py index 0c0a3ce9cd..3b4653c4ef 100644 --- a/test/query.py +++ b/test/query.py @@ -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() -- 2.47.2