Openerplib错误“方法不可用execute_kw”

时间:2013-01-21 13:14:22

标签: openerp

当我尝试使用OpenErp Client Lib

从OpenERP bd加载数据时

我从iPython屏幕上收到此错误。

openerp-server正在运行,以及openerp-web,我在日志中没有错误。两者的配置文件都是默认值。

In [8]: import openerplib

In [9]: connection = openerplib.get_connection(hostname="localhost",database="my_db",login="admin", password="1234")

In [10]: user_model = connection.get_model("res.users")

In [11]: ids = user_model.search([("login", "=", "admin")])
---------------------------------------------------------------------------
Fault                                     Traceback (most recent call last)
/home/vanessa/<ipython-input-11-762f474d37fc> in <module>()
----> 1 ids = user_model.search([("login", "=", "vanessa")])

/usr/local/lib/python2.7/dist-packages/openerp_client_lib-1.1.0-py2.7.egg/openerplib/main.pyc in proxy(*args, **kw)
311                                                     self.model_name,
312                                                     method,
--> 313                                                     args, kw)
314             if method == "read":
315                 if isinstance(result, list) and len(result) > 0 and "id" in result[0]:

/usr/local/lib/python2.7/dist-packages/openerp_client_lib-1.1.0-py2.7.egg/openerplib/main.pyc in proxy(*args)
178             """
179             self.__logger.debug('args: %r', args)
--> 180             result = self.connector.send(self.service_name, method, *args)
181             self.__logger.debug('result: %r', result)
182             return result

/usr/local/lib/python2.7/dist-packages/openerp_client_lib-1.1.0-py2.7.egg/openerplib/main.pyc in send(self, service_name, method, *args)
 81         url = '%s/%s' % (self.url, service_name)
 82         service = xmlrpclib.ServerProxy(url)
---> 83         return getattr(service, method)(*args)
 84 
 85 class XmlRPCSConnector(XmlRPCConnector):

/usr/lib/python2.7/xmlrpclib.pyc in __call__(self, *args)
1222         return _Method(self.__send, "%s.%s" % (self.__name, name))
1223     def __call__(self, *args):
-> 1224         return self.__send(self.__name, args)
1225 
1226 ##


/usr/lib/python2.7/xmlrpclib.pyc in __request(self, methodname, params)
1576             self.__handler,
1577             request,
-> 1578             verbose=self.__verbose
1579             )
1580 

/usr/lib/python2.7/xmlrpclib.pyc in request(self, host, handler, request_body, verbose)
1262         for i in (0, 1):
1263             try:
-> 1264                 return self.single_request(host, handler, request_body, verbose)
1265             except socket.error, e:
1266                 if i or e.errno not in (errno.ECONNRESET, errno.ECONNABORTED, errno.EPIPE):

/usr/lib/python2.7/xmlrpclib.pyc in single_request(self, host, handler, request_body, verbose)
1295             if response.status == 200:
1296                 self.verbose = verbose
-> 1297                 return self.parse_response(response)
1298         except Fault:
1299             raise

/usr/lib/python2.7/xmlrpclib.pyc in parse_response(self, response)
1471         p.close()
1472 
-> 1473         return u.close()
1474 
1475 ##


/usr/lib/python2.7/xmlrpclib.pyc in close(self)
791             raise ResponseError()
792         if self._type == "fault":
--> 793             raise Fault(**self._stack[0])
794         return tuple(self._stack)
795 

Fault: <Fault Method not available execute_kw: 'Traceback (most recent call last):\n       File "/usr/local/lib/python2.7/dist-packages/openerp-server/netsvc.py", line 489, in dispatch\n    result = ExportService.getService(service_name).dispatch(method, auth, params)\n  File "/usr/local/lib/python2.7/dist-packages/openerp-server/service/web_services.py", line 595, in dispatch\n    raise NameError("Method not available %s" % method)\nNameError: Method not available execute_kw\n'>

2 个答案:

答案 0 :(得分:2)

execute_kw可从OpenERP 6.1获得

因此,OpenERP Client Lib与OpenERP 6.0或更低版本不兼容。

答案 1 :(得分:1)

此lib与6.1兼容,并与6.1一起使用。  此外,您的服务器必须正在运行

所以只需用6.1尝试就可以了。

谢谢