如何获取sqlalchemy查询对象的属性

2024-05-14 17:50:50 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码是用视图.py在烧瓶框架中:

在视图.py公司名称:

motions = db.session.query(
    Motion.id,
    Motion.summary,
    Motion.motion_type_id,
    Motion_Type.description,
    Motion_Type.id,
    Motion.mp_op_type,
    Motion.judge_id,
    Judge.id,
    Judge.name,
    Motion.case_id,
    Case.id,
    Case.summary,
    Case.case_type_id,
    Case_Type.description,
    Case_Type.id,
    Motion.ruling_id,
    Ruling.name,
    Ruling.id
).filter(
    Case.id == Motion.case_id
).order_by(
    Judge.name,
    Case_Type.description,
    Ruling.name,
    Motion_Type.description
)

如何在查询中获取属性?我想要的东西是:

^{pr2}$

然而,我的错误是在视图.py. 所以我的问题是,如何在查询中获取属性?我是不是错过了什么,或者说,我应该从模型.py或者在html模板上实例化什么?很困惑。在


Tags: 代码namepy视图id属性typedescription
1条回答
网友
1楼 · 发布于 2024-05-14 17:50:50

问题是您并没有真正按照设计使用查询API。似乎您正在寻找这样的东西(假设您的关系在模型中设置正确):

import sqlalchemy as sa
motions_query = db.session.query(
    Motion
).join(
    Motion.case
).join(
    Case.judge
).join(
    Case.case_type
).options(
   sa.orm.contains_eager(Motion.case).contains_eager(Case.judge),
   sa.orm.contains_eager(Case.case_type)
).filter(
    Case.id == Motion.case_id
).order_by(
    Judge.name,
    Case_Type.description,
    Ruling.name,
    Motion_Type.description
)

for motion in motions_query:
    print(motion.case.summary)
    print(motion.case.judge.name)

相关问题 更多 >

    热门问题