【发布时间】:2021-10-25 11:12:51
【问题描述】:
我的模型模块中有以下表格,我必须在它们的一些属性之间设置外键关系。但是,我失败了。
class Exercise(Base):
__tablename__= "Exercise"
id=Column(Integer, primary_key= True)
name=Column(VARCHAR(250))
animation_id=Column(Integer, ForeignKey('Animation.id')) #foreign key -> animation.id
animation=relationship("Animation", back_populates="exercise")
class Animation(Base):
__tablename__="Animation"
id=Column(Integer,primary_key=True,index=True,autoincrement=True)
name=Column(VARCHAR(250))
description=Column(VARCHAR(250))
exercise=relationship("Exercise", back_populates="animation")
我正在尝试在 Exercise.animation_id 和 Animation.id 之间建立关系。 我尝试在代码中添加 ForeignKey('Animation.id')) 但它不起作用。
我想不出别的了。 提前致谢。
【问题讨论】:
-
“它不起作用”到底是什么意思?你有错误吗?
-
代码可以正常工作,但 FK 不能正常工作。控制台上也没有什么特别的。
-
碰巧你在使用 SQLite?
-
通过从 MyISAM 切换 InnoDB 解决了这个问题。原来 MyISAM 不支持外键。
标签: python python-3.x sqlalchemy fastapi