flask sqlalchemy查询不等于的列

Sea*_*lus 43 python sqlalchemy flask flask-sqlalchemy

我可以在座位表中查询没有分配邀请的所有座位:

seats = Seat.query.filter_by(invite=None).all()
Run Code Online (Sandbox Code Playgroud)

但是,当查询所有分配了邀请的座位时,我得到一个错误:

seats = Seat.query.filter_by(invite!=None).all()
Run Code Online (Sandbox Code Playgroud)

这是我的Seat类:

NameError: name 'invite' is not defined
Run Code Online (Sandbox Code Playgroud)

如何查询所有者不为空的所有座位?

谢谢

Nat*_*usa 70

filter_by()方法需要的关键字参数序列,所以你总是必须使用"="吧.您想使用允许的filter()方法filter_by().

seats = Seat.query.filter(Seat.invite != None).all()
Run Code Online (Sandbox Code Playgroud)

要么

seats = Seat.query.filter(Seat.invite != None).all()
Run Code Online (Sandbox Code Playgroud)


小智 35

我认为这可以帮助 http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.isnot

没有

query.filter(User.name == None)
Run Code Online (Sandbox Code Playgroud)

或者,如果pep8/linters是一个问题

query.filter(User.name.is_(None))

不是没有

query.filter(User.name != None)
Run Code Online (Sandbox Code Playgroud)

或者,如果pep8/linters是一个问题

query.filter(User.name.isnot(None))