如何找到所有SQLAlchemy模型的混合属性?

Jak*_*ski 6 python sqlalchemy

我需要找到一种方法来获取所有SQLAlchemy模型混合属性的列表.

对于Person实例上的关系,我可以执行以下操作:

from sqlalchemy.inspection import inspect
inspect(person.__class__).relationships 
Run Code Online (Sandbox Code Playgroud)

是否有类似的东西:

 inspect(person.__class__).hybrid_properties
Run Code Online (Sandbox Code Playgroud)

Jak*_*ski 7

这是我想出的解决方案:

from sqlalchemy.inspection import inspect as sa_inspect
from sqlalchemy.ext.hybrid import hybrid_property

for item in sa_inspect(A_MODEL_INSTANCE.__class__).all_orm_descriptors:
    if type(item) == hybrid_property:
        print item.__name__
Run Code Online (Sandbox Code Playgroud)