map = [] if rd['keyword']: like = '%{}%'.format(rd['keyword']) map.append(Accident.addr.like(like) | Accident.desc.like(like)) if int(rd['route']) != -1: map.append(Accident.route_id == rd['route']) lst = Jstation.query.filter(*map).order_by(Jstation.id.asc()).paginate(page=page, per_page=3)