¿Cómo enviar un mensaje simple y el estado como respuesta en un controlador Odoo JSON?

Intenté diferentes formas de hacerlo, pero no funcionaron.

Primero intenté de esta manera:

import openerp.http as http
from openerp.http import Response

class ResPartnerController(http.Controller):

    @http.route('/odoo/create_partner', type='json', auth='none')
    def index(self, **kwargs):

    Response.status = '400'
    return "Result message"

Obtengo el estado correcto y el mensaje en el cliente. Pero recibo esta extraña advertencia si hago alguna acción en la interfaz de Odoo

¿Hay alguna manera de evitar este mensaje?

Intenté esto en ambos sentidos también:

data = {'result': 'RESULT message'}
json_data = json.dumps(data, encoding='utf-8')
headers = [('Content-Type', '{}; charset=utf-8'.format('application/json'))]
mimetype = 'application/json'
res = Response(
    response=json_data,
    status=status,
    headers=headers,
    mimetype=mimetype,
)
return res
msg = u'Response 200 badly built, falling back to a simple 200 OK response'
res = Response(msg, status=200)
return res

Pero siempre recibo este error como respuesta en el cliente:

TypeError: <Response 9 bytes [400 BAD REQUEST]> is not JSON serializable\n", "message": "<Response 9 bytes [400 BAD REQUEST]> is not JSON serializable"

Entonces, ¿hay una manera limpia de responder un mensaje simple con el estado de la respuesta?

Es importante para mí enviar el estado de la respuesta también

Si simplemente respondo un mensaje, todo funciona bien, pero ¿cómo cambiar el estado sin comportamientos extraños?

Por cierto, uso este script para hacer las llamadas

# -*- coding: utf-8 -*-

import requests
import json

url = 'http://localhost:8069/odoo/create_partner'
headers = {'Content-Type': 'application/json'}

data_res_partner = {
    'params': {
        'name': 'Example',
        'email': '[email protected]',
    }
}

data_json = json.dumps(data_res_partner)
response = requests.post(url=url, data=data_json, headers=headers)
print(response.status_code)
print(response.content)

Actualizar

Finalmente @Phillip Stack me dijo que hiciera esto con XML-RPC, así que escribí estootra pregunta para aclarar mis dudas

Respuestas a la pregunta(1)

Su respuesta a la pregunta