SqlAlchemy:检查/反映有关关系的信息

Ach*_*him 6 python reflection sqlalchemy

我有一个 sqlalchemy 类R,它实现了其他两个类AB. SoR有两个整数列source_idtarget_id它们保存引用实例的 id。并且R有两个属性source_objtarget_obj它们是通过relationship. 因为描述下这或多或少同这里的documenation。

我想要做的是从R. 我正在使用 sqlalchemy 0.8 并尝试在 上使用该inspect()方法R.source_obj,但我只得到一个InstrumentedAttribute似乎没有太大帮助的方法。至少我无法提取任何有用的信息或找到任何有关它的文档。

任何帮助将不胜感激!我如何到达AB离开R

Gus*_*ves 6

尝试这样的事情。我也在处理这个问题,没有找到任何文档,认为这可以帮助你开始。

from sqlalchemy import inspect

i = inspect(model)
for relation in i.relationships:
    print(relation.direction.name)
    print(relation.remote_side)
    print(relation._reverse_property)
    dir(relation)
Run Code Online (Sandbox Code Playgroud)