sqlalchemy-stubs icon indicating copy to clipboard operation
sqlalchemy-stubs copied to clipboard

sql-alchemy 1.4 - using is_not on column leads to mypy warning, while using isnot does not lead to the warning

Open serhiy-yevtushenko opened this issue 3 years ago • 1 comments

In the sqlalchemy version 1.4, the method isnot was renamed to is_not, and the old method was left for backward compatibility.

(see https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.ColumnOperators.is_not)

However, if one try to use is_not on the column expression

(something like:

...
.where(and_(pch_alias.c.New_Id.is_not(None))))

) then one gets following warning in mypy:

error: "Column[Any]" has no attribute "is_not" However, if one is using older isnot construct, then mypy produces no warning.

As is_not now is a recommended method, I think stubs should function with it without warnings.

serhiy-yevtushenko avatar Jun 24 '22 11:06 serhiy-yevtushenko

Ihttps://github.com/dropbox/sqlalchemy-stubs/issues/237 covers this, and more cases.

philbudne avatar Oct 20 '22 16:10 philbudne