如何在SQLAlchemy中查询未创建的表(已在数据库中)

2024-05-07 13:07:22 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说,我对Flask和MYSQL都是新手,对于学校作业,我必须制作一个简单的网站,与我在学校创建的数据库进行交互

我正在使用Flask创建网站,我已经验证了我能够连接到SQL数据库,因为我能够添加一个显示在phpMyAdmin上的“测试”表

我遇到的问题是,我无法查询任何我没有创建的表,我知道我遗漏了一些明显的东西,但我无法找到它

这是我的密码:

db = SQLAlchemy(app)

class Test(db.Model):
    id = db.Column(db.Integer, primary_key = True)


@app.route('/')
def index():
    return render_template("test1.html")

@app.route('/profile/<name>')
def profile(name):
    return render_template("profile.html", name=name )


if __name__ == "__main__":
    print(db.Query(movie.query.filter_by(year_of_release=1972)))
    app.run(debug=True)`

当我运行db.create_tables()时,phpMyAdmin上显示了“Test”表,但是我得到的错误是“NameError:name'movie'未定义”

如果有人能直接给我指出正确的方向那就太好了,谢谢


1条回答
网友
1楼 · 发布于 2024-05-07 13:07:22

当您访问类中的表时,应该有一个属性

__tablename__ = 'movies'

为了让SQLAlchemy类指向一个表,您必须告诉SQLAlchemy哪个类指向哪个表。因此,如果表名为'movies',那么在类中应该使用__tablename__ = 'movies'

相关问题 更多 >