diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-05-27 01:19:56 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-05-27 01:19:56 +0000 |
| commit | c6baecfd799ffee65d86a0e3268152182bce3ac3 (patch) | |
| tree | ca7c28cf5b0585ef0fc4ca8c1454e0c3b085bc1a /lib/sqlalchemy/orm/query.py | |
| parent | 0133283c78f7f75adee27860591e5335f798eb32 (diff) | |
| download | sqlalchemy-c6baecfd799ffee65d86a0e3268152182bce3ac3.tar.gz | |
converted sqlsoup, got its doctests working (werent working in 0.1 either....), added doctest hook to testsuite
fix to selectone_by/selectone when zero rows returned
Diffstat (limited to 'lib/sqlalchemy/orm/query.py')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index cfd89411a..64484e4fc 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -169,7 +169,10 @@ class Query(object): ret = self.select_whereclause(self.join_by(*args, **params), limit=2) if len(ret) == 1: return ret[0] - raise exceptions.InvalidRequestError('Multiple rows returned for selectone_by') + elif len(ret) == 0: + raise exceptions.InvalidRequestError('No rows returned for selectone_by') + else: + raise exceptions.InvalidRequestError('Multiple rows returned for selectone_by') def count_by(self, *args, **params): """returns the count of instances based on the given clauses and key/value criterion. @@ -191,7 +194,10 @@ class Query(object): ret = list(self.select(*args, **params)[0:2]) if len(ret) == 1: return ret[0] - raise exceptions.InvalidRequestError('Multiple rows returned for selectone') + elif len(ret) == 0: + raise exceptions.InvalidRequestError('No rows returned for selectone_by') + else: + raise exceptions.InvalidRequestError('Multiple rows returned for selectone') def select(self, arg=None, **kwargs): """selects instances of the object from the database. |
