跳到主要内容

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实例合成的元数据属性。