Python 我可以将会话绑定到SQLAlchemy中的特定模式吗?

Python 我可以将会话绑定到SQLAlchemy中的特定模式吗?,python,python-3.x,postgresql,sqlalchemy,Python,Python 3.x,Postgresql,Sqlalchemy,我使用具有多个(类似)模式的postgres数据库。在我的代码库中,我在单独的schema_xy.py文件中反映不同的模式。我还有一个base.py文件,其中包含一个带有抽象表定义的基类,用于存在于多个模式中的表 我的base.py文件: from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base engine = create_engine('postgresql+p

我使用具有多个(类似)模式的postgres数据库。在我的代码库中,我在单独的
schema_xy.py
文件中反映不同的模式。我还有一个
base.py
文件,其中包含一个带有抽象表定义的基类,用于存在于多个模式中的表

我的
base.py
文件:

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('postgresql+psycopg2://dbuser@dbhost:5432/dbname')

Base = declarative_base(bind=engine)

class User(Base):
    __abstract__ = True

    id = ..
以及一个示例
Schema1.py
文件,它从base继承
User
表,但也有一个特定于模式的表
S1Table

from sqlalchemy import declarative_base
from .base import User

engine = create_engine('postgresql+psycopg2://dbuser@dbhost:5432/dbname')
Schema1Base = declarative_base(bind=engine, metadata=MetaData(schema='Schema1'))

class User(Schema1Base, User):
    __tablename__ = "user"

class S1Table(Schema1Base):
    __tablename__ = "s1table"

    foo = ...
我的问题是,如何最好地实例化用于查询和上载数据的会话,这些数据“绑定”到特定的模式,即如何确保从正确的模式查询/操作
用户

我找到了这篇博文

它为
Base
定义了
loadSession
函数,如下所示:

def loadSession():

    metadata = Base.metadata
    Session = sessionmaker(bind=engine)
    session = Session()
    return session
但我不明白未使用的
元数据在这里到底应该做什么