数据库查询中的NameError

时间:2015-07-06 09:35:16

标签: python postgresql flask nameerror

我使用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)

所以我假设问题是它没有识别名称,就像在右栏搜索一样?

2 个答案:

答案 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)