Tengo un problema con la separación de tablas con relaciones en diferentes archivos. Quiero que las siguientes tablas estén en tres archivos separados e importar TableA en una página de terceros, pero no puedo administrar el orden de carga.Tablas de importación SQLAlchemy con relaciones
En la mayoría de las veces recibo el siguiente error.
sqlalchemy.exc.InvalidRequestError: Al inicializar mapper Mapper | TableA | tablea, la expresión 'TableB' no pudo ubicar un nombre ("nombre 'TableB' no está definido"). Si este es un nombre de clase , considere agregar esta relación() a la clase después de que se hayan definido ambas clases dependientes.
class TableA(Base):
__tablename__ = "tablea"
id = Column(Integer, primary_key=True)
name = Column(String)
tableB = relationship("TableB", secondary = TableC.__table__)
class TableB(Base):
__tablename__ = "tableb"
id = Column(Integer, primary_key=True)
name = Column(String)
class TableC(Base):
__tablename__ = "tableab"
tableAId = Column("table_a_id", Integer, ForeignKey("TableA.id"), primary_key=True)
tableBId = Column("table_b_id", Integer, ForeignKey("TableB.id"), primary_key=True)
Gracias por la respuesta :) – bozhidarc
¿Tiene que importar la clase para poder usarla en una relación? –