在sqlalchemy中查询具有空值的多个输入?

时间:2019-07-09 06:40:52

标签: search flask sqlalchemy flask-sqlalchemy

我想为flask_sqlalchemy中的多对多关系创建搜索表单。桌子是这样的:

tags = db.Table('tags',
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True),
    db.Column('page_id', db.Integer, db.ForeignKey('page.id'), primary_key=True)
)

class Page(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    tags = db.relationship('Tag', secondary=tags, lazy='subquery',
        backref=db.backref('pages', lazy=True))

class Tag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))

for是这样的:

<form action="{{ url_for('serach') }}" method="POST" >
                    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
            <div class="row border-bottom">
                <div class="col-xs-6 ">page name: <input type="text" name='page_name'> </div>
                <div class="col-xs-6 ">tage name: <input type="text" name='tage_name'> </div>

                <div class="col-xs-6 "><button type="submit"  class="btn btn-primary">search</button></div>
              </div>
            </form>

我想在查询中使用like。我该怎么办?

用户可能输入所有输入或其中之一。 ,如果全部为空,则结果显示所有页面。

0 个答案:

没有答案