首页 > 解决方案 > Flask SQLAlchemy:根据不同的条件过滤不同列上的查询

问题描述

所以我有不同的列,我正在制作一个搜索栏来搜索不同的标准,以便用户可以缩小他们的搜索范围。

我的搜索命令:

def search():
    search=request.args.get('search')
    search='%{}%'.format(search)
    games=Game.query.filter(or_(Game.name.like(search),Game.genre.like(search),Game.platform.like(search)))
    return render_template('ConsoleGames.html', games=games)

我的数据库模型:

class Game(db.Model):
    __tablename__='games'
    id=db.Column(db.Integer, primary_key=True)
    name=db.Column(db.String(64), nullable=False)
    genre=db.Column(db.String(64), nullable=False)
    description=db.Column(db.String(300), nullable=False)
    image=db.Column(db.String(60), nullable=False)
    price=db.Column(db.Integer, nullable=False)
    platform=db.Column(db.String(64), nullable=False)
    consoletype_id=db.Column(db.Integer, db.ForeignKey('consoletype.id'))

目前,我一次只能从 1 列中搜索 1 个条件。尝试两者都会给我一个空白页。我将如何做到这一点,以便我可以从不同的列中搜索多个条件?

标签: pythonflaskflask-sqlalchemy

解决方案


推荐阅读