Блин, вот код
config.py
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker, create_session
engine = None
db_session = scoped_session(lambda: create_session(bind=engine))
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def init_engine(**kwargs):
global engine
global db_session
global db
SQLALCHEMY_DATABASE_URI = "postgresql://postgres:passs@%s/master" % session['db']
print SQLALCHEMY_DATABASE_URI
engine = create_engine(SQLALCHEMY_DATABASE_URI, convert_unicode=True, echo=True, **kwargs)
db.session.remove()
db.session = db_session
#scoped_session(sessionmaker(bind=engine))
session['db_state'] = True
connection = engine.connect()
result = connection.execute("select count(*) from base.objecttype")
for row in result:
print row
Здесь, такая таблица есть, а в модели - нет
приложение
@app.route('/connect')
def connect():
session['db'] = request.args.get('host', '127.0.0.1')
session['db_state'] = False
init_engine()
return redirect('/admin')
if __name__ == '__main__':
admin = Admin(app, index_view=Connect_View(name='БД'))
from flask.ext.admin.contrib.sqla import ModelView
from ot_model import ObjectTypeModel
admin.add_view(ModelView(ObjectTypeModel, db_session))
модель
from config import db
class ObjectTypeModel(db.Model):
__tablename__ = "base.objecttype"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, unique=True)
comment = db.Column(db.String)
Ошибка
ProgrammingError: (ProgrammingError) ОШИБКА: отношение "base.objecttype" не существует LINE 2: FROM "base.objecttype" ^ 'SELECT count(%(param_1)s) AS count_1 \nFROM "base.objecttype"' {'param_1': '*'}