Matraz SQLAlchemy que consulta una columna con “no es igual a”

Puedo consultar en mi mesa de asientos todos los asientos donde no hay ninguna invitación asignada:

 seats = Seat.query.filter_by(invite=None).all() 

Sin embargo, al consultar todos los asientos que tienen una invitación asignada, obtengo un NameError :

 seats = Seat.query.filter_by(invite!=None).all() 
 NameError: name 'invite' is not defined 

Aquí está mi clase de 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')) 

¿Cómo puedo consultar todos los asientos donde el propietario no está en blanco?

El método filter_by() toma una secuencia de argumentos de palabras clave, por lo que siempre tiene que usar = con él.

Desea utilizar el método filter() que permite != :

 seats = Seat.query.filter(Seat.invite != None).all() 

Creo que esto puede ayudar http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.isnot

Es ninguno

 query.filter(User.name == None) 

o alternativamente, si pep8 / linters son una preocupación

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

No es ninguno

 query.filter(User.name != None) 

o alternativamente, si pep8 / linters son una preocupación

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