我可以在Seat
表中查询没有分配邀请的所有座位:
seats = Seat.query.filter_by(invite=None).all()
但是,在查询已分配邀请的所有座位时,我会收到NameError
:
seats = Seat.query.filter_by(invite!=None).all()
NameError: name 'invite' is not defined
这是我的Seat
课程:
class Seat(db.Model):
id = db.Column(db.Integer, primary_key=True)
invite_id = db.Column(db.Integer, db.ForeignKey('invite.id'))
invite = db.relationship('Invite',
backref=db.backref('folks', lazy='dynamic'))
如何查询所有者不为空的所有座位?
答案 0 :(得分:64)
filter_by()
方法采用一系列关键字参数,因此您必须始终使用=
。
您想使用允许!=
的{{3}}方法:
seats = Seat.query.filter(Seat.invite != None).all()
答案 1 :(得分:31)
query.filter(User.name == None)
或者,如果pep8 / linters是关注的话
query.filter(User.name.is_(None))
query.filter(User.name != None)
或者,如果pep8 / linters是一个问题
query.filter(User.name.isnot(None))