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

时间:2016-11-18 22:09:25

标签: 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',
                    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]

谢谢大家的帮助!

0 个答案:

没有答案