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