from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql://we0:[email protected]/javadb', convert_unicode=True, echo=False)
try:
engine.execute("use javadb")
engine.connect()
print 'connected'
except:
print 'error'
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()
print engine.table_names()
print Base.metadata.tables
#print Base.metadata.reflect(engine)
class MontEmp(Base):
__table__ = Base.metadata.tables['MONTGOMERY_EMPLOYEE']
for item in session.query(MontEmp.id):
print item
Im пытается получить имя таблицы из существующей БД и запросов, но я получаю сообщение об ошибке при попытке получить доступ к таблице через - Base.metadata.tables [ «MONTGOMERY_EMPLOYEE»] Я получить ключевую ошибку.Получить имена таблиц в SQLAlchemy
Когда я печатаю Base.metadata.tables свой пустой, но когда я печатаю engine.table_names(), он перечисляет все таблицы.
Вопрос: -
Почему Base.metadata.tables [ 'MONTGOMERY_EMPLOYEE'] пусто?
смотрит на меня, что ваша «база» не связана с этим движком. Попробуйте 'Base = declarative_base (engine)' – van