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

2024-10-01 09:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些模型

Gif : id, tags (backref Tag)  
Tag : id  

我正在寻找查询,以获取与标记列表匹配的所有gif。
例如:

^{pr2}$

我想使用的查询如下:

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]

谢谢大家的帮助!在


Tags: keyidtruedbtagtagscolumninteger