Domanda

Domanda per principianti SqlAlchemy:

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)

Quando creo il mio schema di database, ho due tabelle, as e bs, che hanno una colonna (id) ma non c'è una colonna a nella tabella bs che punta ad A.

Cosa posso fare di sbagliato? Il mio database è mysql, se è importante.

È stato utile?

Soluzione

relationship () indica solo al mappatore come sono correlate le due tabelle. Devi ancora aggiungere una colonna con le informazioni sulla chiave esterna. Ad esempio:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top