SqlAlchemy Probleme mit Fremdschlüsseln

Ich erhalte den Fehler

Konnte die rfc1738-URL aus der Zeichenfolge 'MACHINE_IE' nicht analysieren

Wenn ich versuche, das folgende @ zu importier

class MACHINE(declarative_base()):
    __tablename__ = 'MACHINE'
    MACHINE_UID = Column(Integer, primary_key=True)
    MACHINE_IP = Column(String)
    MACHINE_NAME = Column(String)
    MACHINE_INFO = Column(String)

class IE(declarative_base()):
    __tablename__ = 'IE'
    IE_UID = Column(Integer, primary_key=True)
    IE_VERSION = Column(String)
    IE_MAJOR = Column(String)

class MACHINE_IE(declarative_base().metadata):
    __tablename__ = 'MACHINE_IE'
    IE_UID = Column(Integer, ForeignKey("IE.IE_UID"), primary_key=True)
    MACHINE_UID = Column(Integer, ForeignKey("MACHINE.MACHINE_UID"))
    EFFECTIVE_DATE = Column(DateTime)

Wenn ich entferne

metadata

dann kann ich das Modul importieren und eine Abfrage für die Tabellen "MACHINE" und "IE" durchführen und die Daten aus den Zeilen anzeigen. Wenn ich jedoch "MACHINE_IE" abfrage und dann versuche, einige Daten aus der Abfrage anzuzeigen, erhalte ich das folgende

sqlalchemy.exc.NoReferencedTableError: Der der Spalte 'MACHINE_IE.IE_UID' zugeordnete Fremdschlüssel konnte die Tabelle 'IE' nicht finden, mit der ein Fremdschlüssel für die Zielspalte 'IE_UID' generiert werden soll.

Ich vermute, ich brauche "Metadaten", aber der Fehler scheint sich über die DB-Verbindungszeichenfolge zu beschweren, wenn ich sie verwende. Ich kann jedoch eine Verbindung zur Datenbank ohne Probleme herstellen, wenn "Metadaten" entfernt werden.

Hier sind die Verbindungsdaten

connect_string = "oracle+cx_oracle://{0}:{1}@{2}:{3}/{4}".format(user, pw, server, port, sid)

Jede Hilfe wird gebeten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage