你打电话的时候
base = declarative_base()
SA
metadata为此创建新的
base。
要重用模型,必须将
metadata主要模型绑定到可重用模型,但在通过以下方式导入可重用模型之前:
base.metadata = my_main_app.db.metadata
MixIn类可用于重复列声明和扩展类方法。对于
connecting基于MixIns的可重用应用程序,必须在代码中手动为每个模型定义具体的类。
SQLAlchemy是否可以从mixin类中准确导入外键?
具有外键和约束的MixIn类
from sqlalchemy.schema import UniqueConstraintfrom sqlalchemy.ext.declarative import declared_attrclass MessageMixIn(object): ttime = Column(DateTime) @declared_attr def sometable_id(cls): return Column(Integer, ForeignKey('sometable.id')) @declared_attr def __table_args__(cls): return (UniqueConstraint('sometable_id', 'ttime'), {})


