在查询列表 SQLAlchemy 中取回 属性 个对象

Getting back property of object in a query list SQLAlchemy

我有一个名为 UserServices 的连接 table。它的 FK 为 service_id 并且对服务进行反向引用。下面我得到所有 userServices,其中路由参数中的 id 与 user_id(另一个 FK)匹配 然后我试图访问 all_user_services 列表中的所有服务属性。

我当前的代码只有 returns 一个字典而不是一个字典列表。我做错了什么?

@bp.route('/user/<id>/services', methods=['GET'])
def get_services_from_user(id):
    all_user_services = db_session.query(UserService).filter(UserService.user_id == id).all()

    for service in all_user_services:
        result = service_schema.dump(service.service)
        return jsonify(result)

您只需 return 首先进行迭代。您需要创建结果列表:

dumped = [service_schema.dump(s.service) for s in all_user_services]
return jsonify(dumped)