sqlalchemy does not create my foreign key
-
10-07-2019 - |
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.
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