Frage

sqlalchemy newbie Frage:

Base = declarative_base()

class A(Base):
    __tablename__ = 'as'
    id = Column(Integer, primary_key=True)

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a = relation(A)

Wenn ich meine Datenbankschema erstellen, ich habe zwei Tabellen, wie und bs, die eine Spalte haben (id), aber es gibt keine a Spalte in der Tabelle bs, die A verweist.

Was kann ich falsch machen? Meine Datenbank ist MySQL, wenn es darauf ankommt.

War es hilfreich?

Lösung

relation() sagt nur die Mapper, wie die beiden Tabellen verknüpft. Sie müssen noch eine Spalte mit den Fremdschlüsselinformationen hinzuzufügen. Zum Beispiel:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top