sqlalchemy, wybierz używając odwrotnej (nie w) listy wartości kolumn podrzędnych

Mam typową relację Post / Tags (wiele tagów związanych z jednym postem) w flask-sqlalchemy i chcę wybrać posty, które nie są oznaczone żadnym tagiem na liście, którą dostarczam. Po pierwsze, modele, które ustawiłem:

class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    tags = db.relationship('Tag', lazy='dynamic')

class Tag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Text(50))
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'))

Coś jak

db.session.query(Post).filter(Post.tags.name.notin_(['dont','want','these']))

zawodzi z

AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object associated with Post.tags has an attribute 'name'

które zakładam, ponieważ tagi to relacja, a nie kolumna. Pracowałem nad innym projektem podczas ręcznego pisania SQL. To był działający SQL:

SELECT * FROM $posts WHERE id NOT IN (SELECT post_id FROM $tags WHERE name IN ('dont','want','these'))

Jak to osiągnąć za pomocą interfejsu API sqlalchemy?

questionAnswers(3)

yourAnswerToTheQuestion