[英]Flask migrate error - foreign key associated with column could not find table with which to generate a foreign key to target column
[英]Flask SQLAlchemy could not find table with which to generate Foreign Key even though table exists
class BigBoxModel(db.Model):
__tablename__ = "bigbox"
id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)
name = db.Column(db.String, unique=True, nullable=False)
vendor_id = db.Column(db.BigInteger, db.ForeignKey("vendors.id"), nullable=False)
我正在尝试使用 bigbox 表,但不断收到错误消息:
与列 'bigbox.vendor_id' 关联的外键找不到表 'vendors' 用于生成目标列 'id' 的外键
供应商表存在于另一个文件中。 我无法导入它,因为这会导致循环导入,因为两个文件中都存在许多常用库。 我还通过运行以下命令检查了所有表名:
db.engine.table_names()
供应商表确实存在,但我仍然不断收到同样的错误。 我正在使用 Flask、SQLalchemy、Postgres。
您可以尝试使用 Class 名称进行外键映射。 在你的 BigBoxModel 中,你可以有类似的东西
vendor_id = db.Column(db.BigInteger, db.ForeignKey(Vendors.id), nullable=False)。 在这种情况下,假定供应商是 class 名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.