两个SQLAlchemy声明性模型必须共享相同的declarative_base()吗?

时间:2009-10-19 16:34:42

标签: python orm sqlalchemy

如果两个SQLAlchemy模型必须参与同一个会话,是否有必要从declarative_base()的同一个实例继承?导入两个或多个定义SQLAlchemy模型的模块时可能就是这种情况。

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class SomeClass(Base):
    __tablename__ = 'some_table'
    id = Column(Integer, primary_key=True)
    name =  Column(String(50))

Base2 = declarative_base()

class AnotherClass(Base2):
    __tablename__ = 'another_table'
    id = Column(Integer, primary_key=True)
    name =  Column(String(50))

1 个答案:

答案 0 :(得分:3)

单独的基类可以正常工作。

当他们使用不同的数据库连接时,你必须要小心,在这种情况下,你不能在两个数据库中使用连接 - 每个查询都需要转到一个数据库。