Dan*_*ego 6 python orm sqlalchemy
我有一个方法,它接受一个对象的查询,将它连接到一个层次结构表,然后从那里将它连接到一个层次结构中的所有兄弟姐妹。我还想将兄弟姐妹作为 SQLAlchemy ORM 对象添加到查询中,以便我可以轻松检索它们。但是,尽管 sqlalchemy 允许我从同级中添加单个字段,但添加别名本身会引发 InvalidRequestError。
我可以用来要求 SQLalchemy 将同级别名的内容作为成熟的 Thing 对象返回的正确语法是什么?
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3817 次 |
| 最近记录: |