我在使用不同文件中的关系分隔表时遇到问题.我希望下面的表格在三个单独的文件中,并在第三方页面中导入TableA,但我无法管理加载顺序.
在大多数情况下,我收到以下错误.
sqlalchemy.exc. InvalidRequestError:初始化映射器Mapper | TableA | tablea时,表达式"TableB"无法找到名称("未定义名称'TableB'").如果这是类名,请考虑在定义了两个依赖类之后将此关系()添加到类中.
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)
Run Code Online (Sandbox Code Playgroud)