跳到主要内容

ModelProtocol

类型源码

model: ModelProtocol

和flask_sqlalchemy.extensions._FSAModel 兼容的协议。

该协议涵盖了模型原型所具备的大致功能。Flask SQLAlchemy并不使用原生的SQLAlchemy基模型,而是定义了它自己的版本。这就是需要该协议来处理兼容性问题的原因。

须知为了同时和一个来自SQLAlchemy的普通基模型兼容,该协议并不涵盖Flask SQLAlchemy模型的所有功能。

别名​

该类型可以按以下方式之一获取

import flask_sqlalchemy_compat as fsc


fsc.ModelProtocol
fsc.protocols.ModelProtocol

协议属性​

query_class​

model.query_class: ClassVar[type[Any]]

query所使用的Query类。默认值为flask_sqlalchemy.SQLAlchemy.Query。


query_class​

model.query: ClassVar[Any]

某个模型的SQLAlchemy query,等价于db.session.query(Model)。可以透过重载query_class来为各模型定制query的功能。


metadata​

model.metadata: sa.MetaData

为flask_sqlalchemy.SQLAlchemy实例合成的元数据属性。