gpt4 book ai didi

python - 两个 SQLAlchemy 声明模型必须共享同一个 declarative_base() 吗?

转载 作者:太空狗 更新时间:2023-10-30 00:58:05 24 4
gpt4 key购买 nike

如果两个 SQLAlchemy 模型必须参与同一个 Session,是否有必要继承同一个 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))

最佳答案

我在单个 session 中成功地使用了不同的声明基础。这在使用多个数据库时很有用:每个库都使用自己的元数据创建,并且每个元数据都绑定(bind)到单独的数据库。您的一些声明性基础可以定义其他方法,或者它们可以使用另一个元类来安装扩展。

关于python - 两个 SQLAlchemy 声明模型必须共享同一个 declarative_base() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1589748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com