我正在创建一个烧瓶应用程序,目前这个应用程序很小,并且使用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这可能是隐藏错误 .

可以包含这一行,或者我的代码可能有问题吗?

非常感谢