搜尋

首頁  >  問答  >  主體

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里面,过滤的时候不能把这个写上

这种情况该怎么写啊


高洛峰高洛峰3065 天前643

全部回覆(1)我來回復

  • 三叔

    三叔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()


    回覆
    0
  • 取消回覆