SQLAlchemy 引擎结果代理错误(Flask Python)

SQLAlchemy Engine Result Proxy error (Flask Python)

我正在创建一个搜索工具,它使用 psycopg、flask 和 SQLAlchemy 来 return 来自 Postgres 数据库的结果。

我遇到错误:

sqlalchemy.engine.result.ResultProxy object at....

这是在我搜索 'job number' 时发生的。

我被引导相信这是由于没有与 ResultProxy 接口,但我无法弄清楚哪里错了?

app.py

from flask import Flask, render_template, request
from sqlalchemy import create_engine
from sqlalchemy import text
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']='postgresql://xx:xx@rx:x/xxx'
engine = create_engine('postgresql+psycopg2://xx:xxx@rx:x/x')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db=SQLAlchemy(app)

@app.route('/', methods=['GET', 'POST'])
def homepage():
    if request.method == 'POST':
        jn = request.form['jobnumber']
        result_set = engine.execute(text("SELECT cost FROM public.options where cast(optionno AS VARCHAR) LIKE :jn"), {"jn": f"%{jn}%"})
        result_set.close()
        return render_template('main.html', result_set=result_set, jn=jn)
    else:
        return render_template('main.html')

    if __name__ == "__main__":
        app.run(debug=True)

Main.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>xx</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
    <link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
</head>

<body>
<p>x</p>

<form method="POST" id="jobnumber">
    <input name="jobnumber" type="textbox" placeholder="jobnumber">
</form>

<table> 

<td>
       {{result_set}}
</td>


</table>

</body>
</html>

如有任何帮助,我们将不胜感激。

也许你应该使用 sqlalchemy 来执行 rp = db.session.execute("select * from test") result_set = rp.fetchall()