Flask-SQLAlchemy 查询在过滤器上具有否定条件

Flask-SQLAlchemy query with negative condition on filter

我正在尝试对方法 filter_by() 进行 Flask-SQLAlchemy 查询,条件为否定。

我可以使用 User.query.filter_by(admin=True) 轻松了解谁是我系统的管理员,谁不是 User.query.filter_by(admin=False),但我想使用过滤器进行查询,例如说明要忽略的内容:

notRach = User.query.filter_by(name!='Rachmaninoff')
# queries for all users whose name isn't Rachmaninoff

我怎样才能做到这一点?

filter_by() 采用关键字参数,因此您需要使用 = 传递字段,而 filter() 将允许您使用 !=,例如

User.query.filter(User.name != 'Rachmaninoff')

注意 filter() 参数中的 filter()User.name