我正在创建一个烧瓶应用程序,目前这个应用程序很小,并且使用flask-sqlalchemy创建了一个表模型 .
当应用程序运行时,应用程序当前从两个单独的文件导入表,似乎没问题 .
问题是当尝试直接运行该文件时,我收到以下错误:
sqlalchemy.exc.InvalidRequestError:已为此MetaData实例定义表'User' . 指定'extend_existing = True'以重新定义现有Table对象上的选项和列 .
型号代码是:
from app import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), unique=True, nullable=False)
据推测,在执行 from app import db
时已经创建了模型 . 因此,当调用行 class User(db.Model):
时,会引发错误 .
我可以在表模型中包含 __table_args__ = {'extend_existing': True}
,它可以防止错误 . 但是,我读过here这可能是隐藏错误 .
可以包含这一行,或者我的代码可能有问题吗?
非常感谢