¿Es necesario que dos modelos de SQLAlchemy hereden de la misma instancia de declarative_base()
si deben participar en la misma sesión? Es probable que este sea el caso al importar dos o más módulos que definen los modelos de SQLAlchemy.¿Deben dos modelos declarativos SQLAlchemy compartir la misma declarative_base()?
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))
También puede usar una única sesión con el argumento binds = {Class: database, ...}. – joeforker
Claro. Pero tal diccionario vincula es difícil de mantener cuando se vuelve enorme. Mientras digo acerca de construirlo automáticamente desde varios objetos de metadatos. –