我正在嘗試在一個簡單的測試應用程序中進行flask-sqlalchemy。 我運行一個SQL服務器,我可以從瓶連接到使用SQLAlchemy的,像這樣:如何在flask-sqlalchemy中使用反射/自動加載
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"))
不過,我也想使用SQLAlchemy的SQL僞語言和ORM部分查詢。因爲這是一個現有的數據庫我不想寫我自己的類和生成數據庫,我想反映現有的數據庫並以此方式訪問它。 我找到了the reflect method in the API docs,但我無法弄清楚如何(以及在哪裏)使用它。
除了想知道如何做到這一點,我也想知道:
- 數據庫反射會發生在每個請求上還是僅在應用程序的開始? (這是一個很大的數據庫,所以每一個請求都會成爲一個阻止)
- 是否有可能爲數據庫中的類生成代碼並將其保存以供將來使用,如Django的inspectDB()所做的那樣?
感謝,
這當然有幫助。我做了一個快速測試,儘管我仍然需要弄清楚如何實現與flask-sqlalchemy有關的這個測試,但我的小測試似乎很有效。我可以從這裏出發,謝謝你! –