Question

Nouvelle question de 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)

Lorsque je crée mon schéma de base de données, j'ai deux tables, as et bs, qui ont une colonne (id) mais il n'y a pas de colonne a dans la table bs qui pointe vers A.

Que puis-je faire de mal? Ma base de données est mysql, si c'est important.

Était-ce utile?

La solution

relation () indique uniquement au mappeur la relation entre les deux tables. Vous devez toujours ajouter une colonne avec les informations de clé étrangère. Par exemple:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top