Я пытаюсь вернуть вложенный словарь как объект json, но получаю ошибку ниже.
Traceback (последний вызов последний): File "/ usr / local / lib / python3 .6 / dist-packages / werkzeug / serve.py ", строка 270, в файле run_wsgi execute (self.server.app)" /usr/local/lib/python3.6/dist-packages/werkzeug/ serve.py », строка 258, в файле execute application_iter = app (environment, start_response)« /home/user/Projects/odoo_12_EE/odoo/service/server.py », строка 409, в приложении return self.app (e, s) Файл "/home/user/Projects/odoo_12_EE/odoo/service/wsgi_server.py", строка 128, в возврате приложения application_unproxied (environment, start_response) File "/ home / user / Projects / odoo_12_EE / odoo / service / wsgi_server .py ", строка 117, в application_unproxied result = odoo.http. root (Environment, start_response) Файл" /home/user/Projects/odoo_12_EE/odoo/http.py ", строка 1318, в call return self.dispatch (environment, start_response) Файл "/home/user/Projects/odoo_12_EE/odoo/http.py", строка 1291, в cal l return self.app (Environment, start_wrapped) Файл "/usr/local/lib/python3.6/dist-packages/werkzeug/wsgi.py", строка 766, в вызов return self.app (Environment, start_response) Файл "/home/user/Projects/odoo_12_EE/odoo/http.py", строка 1491, в ответе на отправку возврата (Environment, start_response) TypeError: объект 'dict' не вызывается - - -
Вот мой код. controller.py
class GetOrderStatus(http.Controller):
@http.route('/getOrderStatus/<string:order_num>',type="http",method=['POST','GET'],website=False,auth="public")
def _get_order_status(self,**kw):
print('kwww',kw)
order_id = request.env['helpdesk.ticket'].sudo().search([('name','=',kw.get('order_num'))])
order_id.ensure_one()
vals = {
"statusCode":200,
"statuDescription":"success",
"data":{"order_status":order_id.stage_id.name}
}
print('vals',vals)
n = json.dumps(vals)
return json.loads(n)
Как я могу решить эту проблему?