Flask-SQLAlchemy: несколько фильтров через одно отношение

У меня есть две модели, теги и фотографии, которые имеют отношение многие ко многим, например:

tag_identifier = db.Table('tag_identifier',
                          db.Column('photo_id', db.Integer, db.ForeignKey('photo.id')),
                          db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'))
                         )

class Tag(db.Model):
  id = db.Column(db.Integer, primary_key=True)

class Photo(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  tags = db.relationship('Tag', secondary=tag_identifier,
                         backref=db.backref('photos', lazy='dynamic'), lazy='dynamic')

Я пытаюсь запросить все фотографии, которые имеют несколько конкретных тегов. Например, если бы я запросил все фотографии с<Tag 1> а также <Tag 2>:

Photo.query.join(Photo.tags).filter(Tag.id==1).all() вернется

[<Photo 1>, <Photo 2>, <Photo 3>, <Photo 4>], а также

Photo.query.join(Photo.tags).filter(Tag.id==2).all() вернется

[<Photo 1>, <Photo 2>, <Photo 5>, <Photo 6>].

В этом примере, какую операцию мне нужно сделать, чтобы получить следующий результат:[<Photo 1>, <Photo 2>]

Ответы на вопрос(1)

Ваш ответ на вопрос