sqlalchemy non crea la mia chiave esterna
-
10-07-2019 - |
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.
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