Python InvalidRequestError:SQL表达式、列或映射实体应为-Get'&书信电报;别名类>';

Python InvalidRequestError:SQL表达式、列或映射实体应为-Get'&书信电报;别名类>';,python,orm,sqlalchemy,Python,Orm,Sqlalchemy,我有一个方法,它接受一个对象的查询,将它连接到一个继承人结构表,然后从那里将它连接到继承人结构中的所有同级。我还想将同级作为SQLAlchemy ORM对象添加到查询中,以便轻松检索它们。然而,尽管sqlalchemy允许我添加来自同级的单个字段,但添加别名本身会引发InvalidRequestError 我可以使用什么正确的语法要求SQLalchemy将同级别名的内容作为成熟的对象返回 def siblings( query): """query is an already creat

我有一个方法,它接受一个对象的查询,将它连接到一个继承人结构表,然后从那里将它连接到继承人结构中的所有同级。我还想将同级作为SQLAlchemy ORM对象添加到查询中,以便轻松检索它们。然而,尽管sqlalchemy允许我添加来自同级的单个字段,但添加别名本身会引发InvalidRequestError

我可以使用什么正确的语法要求SQLalchemy将同级别名的内容作为成熟的对象返回

def siblings( query):
    """query is an already created query with a foreign key to Thing

    Thing has the id field id, and a foreign key named parent_key to Thing"""
    parent = aliased(Thing)
    sibling = aliased(Thing)
    query = query.join(Thing)
    query = query.join(parent, Thing.parent_id==parent.subconstruct_id)
    query = query.join(sibling, sibling.parent_id==parent.id)
    query = query.add_columns(sibling)
    return query