簡體   English   中英

Flask SQLAlchemy 找不到用於生成外鍵的表,即使表存在

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM