Question

SqlAlchemy newbie question:

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)

When I create my database schema, I have two tables, as and bs, which have one column (id) but there is no a column in table bs that points to A.

What can I be doing wrong? My database is mysql, if it matters.

Was it helpful?

Solution

relation() only tells the mapper how are the two tables related. You still need to add a column with the foreign key information. For example:

class B(Base):
    __tablename__ = 'bs'
    id = Column(Integer, primary_key=True)
    a_id = Column(Integer, ForeignKey('as.id'), name="a")
    a = relation(A)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top