繁体   English   中英

向现有的 SQLAlchemy 表添加外键约束

[英]adding a ForeignKey constraint to an existing SQLAlchemy table

我有一个现有的表

class Table1(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    primary_category_id = db.Column(db.Integer)

def __repr__(self):
    return '<Table1 %r>' % (self.id)

已经填充了。 现在我想添加一个新表

class Query_Category(db.Model):

    category_id = db.Column(db.Integer, primary_key=True)
    category_string = db.Column(db.String(1000))

    def __repr__(self):
        return '<Query_Category %r>' % (self.category_id)

而旧表Table1的category_id,现在应该是新表的外键。 我正在使用flask-migrate 添加Query_Category 表并且工作正常,但是如何添加外键约束? 我试着把它添加为

primary_category_id = db.Column(db.Integer, db.ForeignKey('query_category.category_id'))

并运行flask-migrate,但这会导致以下错误

sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'Table1.primary_category_id' could not find table 'query_category' with which to generate a foreign key to target column 'category_id'

如何向现有表添加外键约束?

尝试将__tablename__字段添加到您的模型中

class Query_Category(Base):
    __tablename__ = 'query_category'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM