diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-09-24 13:52:25 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-09-24 13:52:25 -0400 |
commit | 5b71858533ea153dec119b3592631fdb1500a15f (patch) | |
tree | d5376860fcee397655effca10bda2853510ddc55 /lib/sqlalchemy/ext/baked.py | |
parent | a9b5fb3f497837c0a4f1122c49c5dd54c87474a0 (diff) | |
download | sqlalchemy-5b71858533ea153dec119b3592631fdb1500a15f.tar.gz |
- replicate Query.one_or_none to BakedQuery
- changelog / version note finishing
Diffstat (limited to 'lib/sqlalchemy/ext/baked.py')
-rw-r--r-- | lib/sqlalchemy/ext/baked.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/sqlalchemy/ext/baked.py b/lib/sqlalchemy/ext/baked.py index f01e0b348..a933e7eb7 100644 --- a/lib/sqlalchemy/ext/baked.py +++ b/lib/sqlalchemy/ext/baked.py @@ -283,6 +283,26 @@ class Result(object): raise orm_exc.MultipleResultsFound( "Multiple rows were found for one()") + def one_or_none(self): + """Return one or zero results, or raise an exception for multiple + rows. + + Equivalent to :meth:`.Query.one_or_none`. + + .. versionadded:: 1.0.9 + + """ + ret = list(self) + + l = len(ret) + if l == 1: + return ret[0] + elif l == 0: + return None + else: + raise orm_exc.MultipleResultsFound( + "Multiple rows were found for one()") + def all(self): """Return all rows. |