如何在sqlalchemy ORM查询中传递一个不喜欢的运算符

Jér*_*eot 48 orm sqlalchemy negation

我有一个问题:

MyModel.query.filter(Mymodel.name.contains('a_string'))
Run Code Online (Sandbox Code Playgroud)

我需要做同样的查询但是使用否定(不喜欢运算符)但是在SQLAlchemy文档中没有找到符合我需要的运算符.

有没有办法不使用SQLAlchemy的SQL部分???

Max*_*yko 75

只是否定过滤器:

MyModel.query.filter(sqlalchemy.not_(Mymodel.name.contains('a_string')))
Run Code Online (Sandbox Code Playgroud)

  • 或者`MyModel.query.filter(~Mymodel.name.contains('a_string'))` (46认同)
  • @Jerome,没问题:) (2认同)

Jos*_*ssy 14

现在有一个notlike()方法。在文档中找不到它,但它存在!

MyModel.query.filter(Mymodel.name.notlike('%a_string%'))
Run Code Online (Sandbox Code Playgroud)