我正在一个简单的测试应用程序中尝试 flask-sqlalchemy。我正在运行 SQL 服务器,我可以使用 SQLalchemy 从 Flask 连接到,如下所示:
from flask import render_template
from app import app, db
@app.route('/')
@app.route('/index')
def index():
people = list(db.session.execute("select top 10 * from people where ppl_username IS NOT NULL"))
但是,我也想使用 SQL 伪语言和 SQLalchemy 的 ORM 部分进行查询。因为这是一个现有数据库,我不想编写自己的类并生成数据库,我想反映现有数据库并以这种方式访问它。我在 API 文档中找到了 reflect 方法,但我不知道如何(以及在哪里)使用它。
除了想知道如何做到这一点;我也想知道:
- 数据库反射会发生在每个请求上还是仅在应用程序启动时发生?(这是一个大数据库,所以每个请求都会成为一个阻碍)
- 是否可以从数据库中为类生成代码并将它们保存以备后用,就像 Django 的 inspectDB() 一样?
谢谢,