search

Home  >  Q&A  >  body text

Flask SQLAlchemy 查询参数不固定时如何写查询query语句

比如下面这3种 get 请求:

www.example.com/products?page=1&variation=mini&brand=xxx

www.example.com/products?page=1&variation=mini

www.example.com/products?page=1&brand=xxx

有3个参数,variation 和 brand 可能都有,也可能只有一个,或者都没有,还有一个page(分页)。

如果有 brand 就按 brand 过滤, 有 variation 就按 variation 过滤,两个都有就两个都过滤.

page 是做分页用的,不在model里面,过滤的时候不能把这个写上

这种情况该怎么写啊


高洛峰高洛峰3064 days ago635

reply all(1)I'll reply

  • 三叔

    三叔2016-10-22 17:15:02

    def get_data(variation=None, brand=None, page=None):
        q = self.session.query(TableName)
        if variation:
            q = q.filter(TableName.variation == variation)
        if brand:
            q = q.filter(TableName.brand == brand)
        if page:
            q = q.limit(page * pageSize)
        return q.all()


    reply
    0
  • Cancelreply