Ich habe Probleme mit dem Trennen von Tabellen mit Beziehungen in verschiedenen Dateien. Ich möchte, dass die Tabellen in drei separaten Dateien vorliegen und TableA auf der Seite von Drittanbietern importieren, aber ich kann die Ladereihenfolge nicht verwalten.SQLAlchemy importieren Tabellen mit Beziehungen
In den meisten Zeit bekomme ich den folgenden Fehler.
sqlalchemy.exc.InvalidRequestError: Beim Initialisieren des Mappers Mapper | TableA | tablea konnte der Ausdruck 'TableB' keinen Namen finden ("name 'TableB' ist nicht definiert"). Wenn dies ein Name der Klasse ist, sollten Sie in Erwägung ziehen, diese relation() zur Klasse hinzuzufügen, nachdem beide abhängigen Klassen definiert wurden.
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)
Danke für die Answear :) – bozhidarc
Müssen Sie die Klasse importieren, um es in einer Beziehung zu verwenden? –