【问题标题】:Flask migrate error - foreign key associated with column could not find table with which to generate a foreign key to target columnFlask 迁移错误 - 与列关联的外键找不到用于生成目标列的外键的表
【发布时间】:2022-08-09 16:38:12
【问题描述】:

我在不同的文件中有两个模型如下。当我运行 flask db migrate 时,出现此错误。

raise exc.NoReferencedTableError(
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column \'datasets.user_id\' could not find table \'user\' with which to generate a foreign key to target column \'id\'

我究竟做错了什么?请帮帮我,谢谢。

class User(Model):
    __tablename__ = \"users\"
    id = Column(db.Integer, primary_key=True)
    email = Column(db.String(64), unique=True, index=True)
    username = Column(db.String(15), unique=True, index=True)
    role_id = Column(db.Integer, db.ForeignKey(\"roles.id\"))
    userdataset = db.relationship(\"Dataset\", backref=\"user\")

class Dataset(db.Model):
    __tablename__ = \'datasets\'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    user_id = db.Column(db.Integer, db.ForeignKey(\'user.id\'))

    标签: python flask sqlalchemy alembic


    【解决方案1】:

    如果将数据集表中外键的值设置为users.id,就可以了。

    【讨论】:

      【解决方案2】:

      由于您的表名是用户,您需要使用 users.id 设置外键

      【讨论】:

        猜你喜欢
        • 2018-07-06
        • 1970-01-01
        • 2022-11-11
        • 2015-04-18
        • 1970-01-01
        • 2021-04-21
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        相关资源
        最近更新 更多