【问题标题】:Result.data working in local and fails on ServerResult.data 在本地工作并在服务器上失败
【发布时间】:2023-03-17 11:00:01
【问题描述】:

当我直接返回结果时,它会在响应 json 中自己添加一个空白 {}。 但是当我做result.data 时,它不会添加那个空白{}。 但是result.data 在服务器中不起作用并引发异常。

data = MasterInventoryBatch.query.filter_by(party_id=party_id).all()
        result = inventorysbatch_schema.dump(data)
return {
    "genericResponse": generic_response(responsecode.GET_BATCH_SUCCESS,
                                        "True",
                                        responsemessage.GET_BATCH_SUCCESS),
    "inventory": result
}

实际结果

{
    "genericResponse": {
        "apiStatusMessage": "GET_BATCH_SUCCESS",
        "apiSuccessStatus": "True",
        "code": 16002,
        "newToken": "null",
        "newTokenGenerated": "false"
    },
    "inventory": [
        [
            {},{},{},{},....
        ],
        {}
    ]
}

预期结果 实际结果

{
    "genericResponse": {
        "apiStatusMessage": "GET_BATCH_SUCCESS",
        "apiSuccessStatus": "True",
        "code": 16002,
        "newToken": "null",
        "newTokenGenerated": "false"
    },
    "inventory":[
            {},{},{},{},....
        ]
}

【问题讨论】:

    标签: python python-3.x flask flask-sqlalchemy


    【解决方案1】:

    我假设你的代码如下

    data = MasterInventoryBatch.query.filter_by(party_id=party_id).all()
    result = inventorysbatch_schema.dump(data)
    response = generic_response(responsecode.GET_BATCH_SUCCESS, "True", responsemessage.GET_BATCH_SUCCESS)
    return {
        "genericResponse": response,
        "inventory": result,
    }
    

    如果我理解正确,

    • 在返回result 时,您将得到[[{},{},{},{},....],{}]
    • 返回 result.data 时在服务器中抛出错误

    您可以尝试使用jsonify() 返回响应,如下所示

    return jsonify({
        "genericResponse": response,
        "inventory": result,
    })
    

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 2020-12-02
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      相关资源
      最近更新 更多