summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-11-15 09:55:43 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-11-15 09:55:43 -0500
commit4efb07477bc3978650e81912f1766136e388863f (patch)
tree5a2e879cf4da7365dc026bfe0f20635fb63ce2b7 /lib/sqlalchemy/orm
parentd01a6f088779bdf0bc118fa3ad09dc12dbd1baf5 (diff)
downloadsqlalchemy-4efb07477bc3978650e81912f1766136e388863f.tar.gz
- Fixed indexing of Query objects by -1. It was erroneously
transformed to the empty slice -1:0 that resulted in IndexError. [ticket:1968]
Diffstat (limited to 'lib/sqlalchemy/orm')
-rw-r--r--lib/sqlalchemy/orm/query.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index 468bcc19d..2bccb8f73 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -1527,7 +1527,10 @@ class Query(object):
else:
return list(res)
else:
- return list(self[item:item+1])[0]
+ if item == -1:
+ return list(self)[-1]
+ else:
+ return list(self[item:item+1])[0]
@_generative(_no_statement_condition)
def slice(self, start, stop):