summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-11-21 03:49:36 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-11-21 03:49:36 +0000
commitc08192ae5b7f43fbdc686ce884857dfa8dd99d11 (patch)
tree39117f2b986855f069687f168265a10ace5cde67 /lib
parent7c0ba8028c985be460c491f8b6b59024090d0c3d (diff)
downloadsqlalchemy-c08192ae5b7f43fbdc686ce884857dfa8dd99d11.tar.gz
- Comparison of many-to-one relation to NULL is
properly converted to IS NOT NULL based on not_().
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/orm/strategies.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/strategies.py b/lib/sqlalchemy/orm/strategies.py
index 156712bc7..58aa71c6a 100644
--- a/lib/sqlalchemy/orm/strategies.py
+++ b/lib/sqlalchemy/orm/strategies.py
@@ -392,10 +392,12 @@ class LazyLoader(AbstractRelationLoader):
binary.left = binary.right
binary.right = expression.null()
binary.operator = operators.is_
+ binary.negate = operators.isnot
elif isinstance(binary.right, expression._BindParamClause) and binary.right.key in bind_to_col:
binary.right = expression.null()
binary.operator = operators.is_
-
+ binary.negate = operators.isnot
+
criterion = visitors.cloned_traverse(criterion, {}, {'binary':visit_binary})
if adapt_source:
criterion = adapt_source(criterion)