数据库查询中的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)