From: Jason Kirtland Date: Thu, 11 Sep 2008 17:52:35 +0000 (+0000) Subject: Added Query.scalar() sugar method, eases migration from old query.sum() methods.... X-Git-Tag: rel_0_5rc1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53a3943b114d84c67704f9dafdc874a03ca76204;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Added Query.scalar() sugar method, eases migration from old query.sum() methods. Needs tests. --- diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 5bb42df2f3..cb1773e5ae 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -1037,6 +1037,17 @@ class Query(object): raise orm_exc.MultipleResultsFound( "Multiple rows were found for one()") + def scalar(self): + """Return """ + + ret = list(self)[0] + if not isinstance(ret, tuple): + return ret + try: + return ret[0] + except IndexError: + return None + def __iter__(self): context = self._compile_context() context.statement.use_labels = True