gpt4 book ai didi

python - 向现有 SQLAlchemy 表添加外键约束

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:38 24 4
gpt4 key购买 nike

我有一个现有的表

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'

关于python - 向现有 SQLAlchemy 表添加外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36334562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com