Flask-SQLAlchemy插件的快速入门教程指导用户创建继承db.Model
类的表模型。
app = Flask(__main__)
db = SQLAlchemy(app)
class Users(db.Model):
__tablename__ = 'users'
...
然而,SQLAlchemy 教程和 bottle-SQLAlchemy README 都建议表模型应该继承自从 declarative_base()
实例化出来的 Base
。
Base = declarative_base()
class Users(Base):
__tablename__ = 'users'
...
这两种方法有什么不同之处?
db.Model
类中添加了一些行为,因此直接从声明基类继承的任何模型都不会具备这些行为。 - Miguel Grinberg