1

当我尝试使用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'>
4

2 回答 2

2

execute_kw可从 OpenERP 6.1 获得

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

于 2013-01-21T20:14:52.873 回答
1

此库与 6.1 兼容并适用于 6.1。此外,您的服务器必须正在运行。

所以只要用 6.1 试试就行了。

谢谢

于 2013-01-22T06:22:28.600 回答