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
类定义的最低版本,可能会有所帮助。不,我不是。我会给你我的类定义。把代码放在你的问题里,缩进等等。