我正在创建一个烧瓶应用程序,目前这个应用程序很小,并且使用flask-sqlalchemy创建了一个表模型。
当应用程序正在运行时,应用程序当前从两个单独的文件导入表格,似乎没问题。
问题是当尝试直接运行该文件时出现以下错误:
sqlalchemy.exc.InvalidRequestError:表'用户'已为此MetaData实例定义。指定' 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这可能是隐藏错误。
可以包含这一行,或者我的代码可能有问题吗?
非常感谢