2015-10-12 7 views
2

SQLAlchemy расширение: https://pythonhosted.org/Flask-SQLAlchemy/index.htmlКолба-SQLAlchemy конфигурация установки двигателя

и я хочу, чтобы настроить двигатель с конфигурацией клиента, используя параметры здесь: http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html

Я использую способ, описанный на Колба-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 

EDIT: Как я могу передать следующие параметры двигателя в таком виде конфигурации:

isolation_level = 'AUTOCOMMIT', encoding='latin1', echo=True 

метод: SQLAlchemy() не принимает эти аргументы.

+2

Итак ... что проблема именно? –

+0

обновите вопрос. Надеюсь, теперь это имеет больше смысла. – Ankit

ответ

3

это открытый вопрос: 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)