我正在使用 PostgreSQL+Psycopg2,SQLAlchemy。我已经使用 pgAdminIII 工具创建了我的数据库“new_db”,并在其中创建了一个新模式“new_db_schema”。在这个模式下,我有我需要的所有表。我的代码看起来像这样。
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column, String, Integer, Boolean
engine_text = 'postgresql+psycopg2://root:12345@localhost:5432/db_name'
database_engine = create_engine(engine_text, echo = True)
Base = declarative_base(database_engine)
class Some_table(Base):
__tablename__ = 'some_table' # This table exist in database.
__table_args__ = {'autoload':True}
col1 = Column(String, primary_key=True)
col2 = Column(Boolean)
def __init__(self, col1_name, col2_name):
self.col1 = col1_name
self.col2 = col2_name
if __name__ == "__main__":
a = Some_table('blah', 'blah')
现在,当我尝试运行以下代码时,我得到sqlalchemy.exc.NoSuchTableError: some_table
.
由于我已经为所有表设置了数据库,因此我想在创建类时自动加载。我在这里错过了什么吗?我需要为数据库中存在的所有表编写这样的类。任何帮助将不胜感激。
谢谢