declarative_base()的目的是什么

时间:2018-02-02 16:22:54

标签: python sqlalchemy

enter image description here

我一直在阅读文档(截图)以及有关declarative_base()的一些在线问题。例如https://groups.google.com/forum/#!topic/sqlalchemy/-Zl9T7Q7awY,因为我试图了解它在https://github.com/hack4impact/flask-base/tree/master/app

等项目中的用法

该项目使用flask-sqlalchemy(http://flask-sqlalchemy.pocoo.org/2.1/quickstart/

从研究中我发现可以创建如下所示的sqlalchemy表模型:

class Property(db.Model):
    __tablename__ = 'properties'
    __searchable__ = ['body']
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(140))
    body = db.Column(db.String(1400))
    img = db.Column(db.String(140))

或从基础继承,例如

Base = declarative_base()
class Property(Base):
    __tablename__ = 'properties'
    __searchable__ = ['body']
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(140))
    body = db.Column(db.String(1400))
    img = db.Column(db.String(140))

我为什么要在这里使用Base?

PS:

app/_init.py上方的项目中,

初始化了带有多个扩展名的烧瓶应用程序,包括sqlalchemy:

mail = Mail()
db = SQLAlchemy()
.....

def create_app(config_name):
    ....
    db.init_app(app)
    login_manager.init_app(app)
    ...
然后将

db导入到模型文件中。

0 个答案:

没有答案