从字段对象获取父表

时间:2018-06-05 05:56:14

标签: python sqlalchemy

如何从字段对象获取父表类?只有.parent方法无效,e。 G:

class SomeTable(Base): # Base have 'query' manager field
    somefield = Column(...)

def subroutine(field):
    table = field.parent # ????
    # should work exactly as
    # table = SomeTable
    table.query.filter(...)

subroutine(SomeTable.somefield)

1 个答案:

答案 0 :(得分:1)

QueryableAttribute.parent返回表示父项的检查实例,该实例可以是MapperAliasedInsp的实例,具体取决于父实体的性质。它不会直接返回映射的类,正如您所期望的那样。您可以通过class_属性访问映射的类:

def get_parent_class(attr):
    return attr.parent.class_