Python 如何做炼金术池?

Python 如何做炼金术池?,python,flask,flask-sqlalchemy,connection-pooling,flask-restful,Python,Flask,Flask Sqlalchemy,Connection Pooling,Flask Restful,这就是我基本上如何创建我的应用程序和db: from flask import Flask from flask_restful import Api from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) api = Api(app) app.config['SQLALCHEMY_DATABASE_URI'] = mysql+pymysql://user:pass@heroku-hostname db = SQLAlch

这就是我基本上如何创建我的
应用程序
db

from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
api = Api(app)

app.config['SQLALCHEMY_DATABASE_URI'] = mysql+pymysql://user:pass@heroku-hostname

db = SQLAlchemy(app)

@app.before_first_request
def create_tables():
    db.create_all()
我自己不显式处理任何连接对象,只使用此db,如:

def save_to_db(self):
    db.session.add(self)
    db.session.commit()

def find_by_email(email):
    return User.query.filter_by(email=email).first()
Pure使用池参数创建某种类型的
引擎
对象,而配置文档中说有用于池选项的键,但它们越来越不受欢迎

这显然是建立在这个
引擎
对象之上的抽象。此外,它还显示,如果未指定,这些设置实际上会获得默认值

最后一个配置字段是
SQLALCHEMY_ENGINE_OPTIONS
,它确实声明:要发送到create_ENGINE()的关键字args字典

那么这是怎么发生的呢?从现在开始,我们基本上只是使用这个配置字段来运行原始的SQLAlchemy
引擎
函数吗

我应该提供什么样的字典值;我是否仍然获得任何默认值

从Flask开始,通过自上而下的方法学习,我有点搞不懂底层的工作原理