Flask-SQLAlchemy有什么区别db.Column vs Column

mic*_*ael 2 python sqlalchemy flask flask-sqlalchemy

所以,我想提出新瓶的应用程序,甚至在其他项目中发现db.ColumnColumn可互换使用.那你什么时候用另一个呢?

id = db.Column(Integer(), primary_key=True)
Run Code Online (Sandbox Code Playgroud)

VS

id = Column(Integer(), primary_key=True)
Run Code Online (Sandbox Code Playgroud)

wim*_*wim 7

这似乎是一种便利; 没有区别.

>>> from flask_sqlalchemy import SQLAlchemy
>>> db = SQLAlchemy()
>>> from sqlalchemy import Column
>>> db.Column is Column
True
Run Code Online (Sandbox Code Playgroud)

在该类的docstring中,SQLAlchemy您可能会看到以下注释:

此类还提供对sqlalchemysqlalchemy.orm模块中所有SQLAlchemy函数和类的访问.

名称由一个辅助函数提供的_include_sqlalchemy是那些获得真实称为SQLAlchemy的初始化.一个值得怀疑的设计选择,或许,除了减少模块顶部的import语句数量之外,没有理由忽略Python#13的禅宗?