【发布时间】:2018-02-07 02:26:10
【问题描述】:
我正在使用用户表单输入查询数据库模型。我的相关HTML表单输入语法如下:
<label>Make</label>
<select name="Car_Make" id="Car_Make_Selector" class="form-control">
<option value="" >Any</option>
<option value="Toyota">Toyota</option>
sqlAlchemy查询如下:
Searched_Cars = Cars.query.filter_by(Car_Make=request.args.get('Car_Make')).order_by(Cars.Date_Created.desc())
现在,当我在表单中选择 Car_Make="Toyota" 的值时,查询工作正常。但是,当我在表单中选择“任何”选项时,查询没有任何结果。
我想要的是,当用户选择“任何”时,查询将返回 db 中的所有汽车。如果选择了“任何”,这实质上就是从查询中删除 filter_by 子句。
此外,鉴于我有 7 个标准可以搜索颜色、型号和年份等,并且用户可以将这些标准中的任何一个或多个选择为“任何”。那么,以下查询语法是否适用于多个搜索条件?
Searched_Cars = Cars.query.filter_by(Car_Make=request.args.get('Car_Make'),Car_Model=request.args.get('Car_Model'),Car_Colour=request.args.get('Car_Colour')).order_by(Cars.Date_Created.desc())
问候。
【问题讨论】:
标签: python html mysql sqlalchemy flask-sqlalchemy