数据库查询中的NameError
NameError in database query
我正在使用 Python/Flask/SQLAlchemy 和 PostgreSQL 数据库。我正在调用一个页面来检查搜索结果,但它显示一个 NameError,该名称未定义。名称是 Foods table 中的数据库列。食品模型已加载。
@app.route('/_search_food')
def search_food():
search = request.args.get('search')
results = Foods.query.filter(name.like('%' + search + '%')).all()
return jsonify(results)
所以我认为问题是它无法将 name.like 识别为在右栏中搜索?
假设您愿意更改代码,我建议使用 'contains'。
代码将类似于:
Foods.objects.filter(name__icontains=search)
icontains 将进行不区分大小写的搜索。
您必须在过滤器中的列前指定型号 class:
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)
我正在使用 Python/Flask/SQLAlchemy 和 PostgreSQL 数据库。我正在调用一个页面来检查搜索结果,但它显示一个 NameError,该名称未定义。名称是 Foods table 中的数据库列。食品模型已加载。
@app.route('/_search_food')
def search_food():
search = request.args.get('search')
results = Foods.query.filter(name.like('%' + search + '%')).all()
return jsonify(results)
所以我认为问题是它无法将 name.like 识别为在右栏中搜索?
假设您愿意更改代码,我建议使用 'contains'。 代码将类似于:
Foods.objects.filter(name__icontains=search)
icontains 将进行不区分大小写的搜索。
您必须在过滤器中的列前指定型号 class:
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)