From: Mike Bayer Date: Tue, 28 Feb 2006 22:50:43 +0000 (+0000) Subject: added items() method to RowProxy + unittest, courtesy dialtone@divmod.com X-Git-Tag: rel_0_1_3~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c1bb1f7a23464191461f5793c323dd7637ba594;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git added items() method to RowProxy + unittest, courtesy dialtone@divmod.com --- 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()