Python sqlalchemy查询获取与元素列表匹配的元素

Python sqlalchemy查询获取与元素列表匹配的元素,python,flask,Python,Flask,我有一些模型 Gif : id, tags (backref Tag) Tag : id 我正在寻找查询,以获取与标记列表匹配的所有GIF。 例如: gif1 = Gif(1 , [1,2,3,4]) list_tags = [1,2] 我想使用的查询类似于: Gif.query.filter(list_tags in Gif.tags).all() 以下是我的课程和表格: gifwithtags = db.Table('gifwithtags',

我有一些模型

Gif : id, tags (backref Tag)  
Tag : id  
我正在寻找查询,以获取与标记列表匹配的所有GIF。
例如:

gif1 = Gif(1 , [1,2,3,4])  
list_tags = [1,2]  
我想使用的查询类似于:

Gif.query.filter(list_tags in Gif.tags).all()
以下是我的课程和表格:

gifwithtags = db.Table('gifwithtags',
                    db.Column('gif_id', db.Integer, db.ForeignKey(
                           'gif.id'), primary_key=True),
                       db.Column('tag_id', db.Integer, db.ForeignKey(
                           'tag.id'), primary_key=True)
                       )
class Gif(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    tags = db.relationship(
        "Tag",
        secondary=gifwithtags,
        backref=db.backref("gifs", lazy="dynamic")
    ) 
class Tag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
假设返回[gif1]


谢谢大家的帮助

标签是如何存储的?您是否使用DB数组类型(如Postgres支持)?我的堆栈是Flask+SQLAlchemy+Postgres。我通过类标记(db.model)创建模型:id=db.Column(db.Integer,primary_key=True),但您是否将标记存储在Postgres数组列类型中?如果您包含
Gif
类定义的最低版本,可能会有所帮助。不,我不是。我会给你我的类定义。把代码放在你的问题里,缩进等等。标签是如何存储的?您是否使用DB数组类型(如Postgres支持)?我的堆栈是Flask+SQLAlchemy+Postgres。我通过类标记(db.model)创建模型:id=db.Column(db.Integer,primary_key=True),但您是否将标记存储在Postgres数组列类型中?如果您包含
Gif
类定义的最低版本,可能会有所帮助。不,我不是。我会给你我的类定义。把代码放在你的问题里,缩进等等。