我使用Python / Flask / SQLAlchemy和PostgreSQL数据库。我正在调用页面来检查搜索结果,但它显示了一个NameError,该名称未定义。 Name是Foods表中的数据库列。食物的模型已加载。
@app.route('/_search_food')
def search_food():
search = request.args.get('search')
results = Foods.query.filter(name.like('%' + search + '%')).all()
return jsonify(results)
所以我假设问题是它没有识别名称,就像在右栏搜索一样?
答案 0 :(得分:2)
我建议您使用'contains',假设您愿意更改代码。 然后代码就像:
Foods.objects.filter(name__icontains=search)
icontains将进行不区分大小写的搜索。
答案 1 :(得分:1)
您必须在过滤器中的列之前指定模型类:
Foods.name.like...
@app.route('/_search_food')
def search_food():
search = request.args.get('search')
results = Foods.query.filter(Foods.name.like('%' + search + '%')).all()
return jsonify(results)