Ank*_*kit 4 python flask flask-sqlalchemy
SqlAlchemy扩展:https://pythonhosted.org/Flask-SQLAlchemy/index.html
我想使用以下参数设置带有客户配置的引擎:http: //docs.sqlalchemy.org/en/rel_0_9/core/engines.html
我正在使用Flask-SqlAlchemy文档中描述的方式:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
Run Code Online (Sandbox Code Playgroud)
编辑:如何在这种配置中传递以下引擎参数:
isolation_level = 'AUTOCOMMIT', encoding='latin1', echo=True
Run Code Online (Sandbox Code Playgroud)
方法:SQLAlchemy()不将这些作为参数.
这是一个悬而未决的问题:https://github.com/mitsuhiko/flask-sqlalchemy/issues/166
你可以试试这个
class SQLiteAlchemy(SQLAlchemy):
def apply_driver_hacks(self, app, info, options):
options.update({
'isolation_level': 'AUTOCOMMIT',
'encoding': 'latin1',
'echo': True
})
super(SQLiteAlchemy, self).apply_driver_hacks(app, info, options)
db = SQLiteAlchemy(app)
Run Code Online (Sandbox Code Playgroud)
小智 5
这只是一个配置选项。这是我们的:
SQLALCHEMY_ENGINE_OPTIONS = {
"pool_pre_ping": True,
"pool_recycle": 300,
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2466 次 |
| 最近记录: |