diff options
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index d35219208..052d048cb 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -334,7 +334,10 @@ class Query(object): if self.table.default_order_by() is not None: order_by = self.table.default_order_by() - for_update = {'read':'read','update':True,'update_nowait':'nowait'}.get(lockmode, False) + try: + for_update = {'read':'read','update':True,'update_nowait':'nowait',None:False}[lockmode] + except KeyError: + raise exceptions.ArgumentError("Unknown lockmode '%s'" % lockmode) if self.mapper.single and self.mapper.polymorphic_on is not None and self.mapper.polymorphic_identity is not None: whereclause = sql.and_(whereclause, self.mapper.polymorphic_on==self.mapper.polymorphic_identity) |
