how to pass a not like operator in a sqlalchemy ORM query

53.2k Views Asked by At

I've got a query:

MyModel.query.filter(Mymodel.name.contains('a_string'))

I need to do the same query but with the negation (a not like operator) but didn't find any operator matching my need in the SQLAlchemy documentation.

Is there any way to do it without using the sql part of SQLAlchemy???

2

There are 2 best solutions below

3
On BEST ANSWER

Just negate the filter:

MyModel.query.filter(sqlalchemy.not_(Mymodel.name.contains('a_string')))
1
On

There is now a notlike() method. Couldn't find it in the docs but it exists!

MyModel.query.filter(Mymodel.name.notlike('%a_string%'))