From 6c50ffcf44b8e363a5d3590955be1f62fd5e780d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 22 Sep 2012 16:45:02 -0400 Subject: - aaand actually get is/isnot to be usable with None/NULL --- lib/sqlalchemy/sql/expression.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/sql/expression.py') diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 50f8061a6..f00926e4d 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -1952,10 +1952,10 @@ class _DefaultColumnComparator(operators.ColumnOperators): **kwargs ): if obj is None or isinstance(obj, Null): - if op == operators.eq: + if op in (operators.eq, operators.is_): return BinaryExpression(expr, null(), operators.is_, negate=operators.isnot) - elif op == operators.ne: + elif op in (operators.ne, operators.isnot): return BinaryExpression(expr, null(), operators.isnot, negate=operators.is_) else: @@ -3156,6 +3156,9 @@ class Null(ColumnElement): def __init__(self): self.type = sqltypes.NULLTYPE + def compare(self, other): + return isinstance(other, Null) + class False_(ColumnElement): """Represent the ``false`` keyword in a SQL statement. -- cgit v1.2.1