我使用 Python 3.6 和 xmlrpc 取消链接 odoo 11 CE 中所有已取消的销售订单,但我仍然收到此错误:
odoo11/odoo/api.py", line 690, in call_kw_multi\n result = method(recs, args, *kwargs)\nTypeError: unlink() missing 1 required positional argument: \'values\'\n'>
我也试过类似的东西:
, [[sale_id]])
代替:
, [sale_id])
这是我的代码:
import xmlrpc.client
class Odoo():
def __init__(self):
self.DATA = "DB"
self.USER = "USER"
self.PASS = "PASS"
self.PORT = "8069"
self.URL = "http://localhost"
self.URL_COMMON = "{}:{}/xmlrpc/2/common".format(
self.URL, self.PORT)
self.URL_OBJECT = "{}:{}/xmlrpc/2/object".format(
self.URL, self.PORT)
def authenticateOdoo(self):
self.ODOO_COMMON = xmlrpc.client.ServerProxy(self.URL_COMMON)
self.ODOO_OBJECT = xmlrpc.client.ServerProxy(self.URL_OBJECT)
self.UID = self.ODOO_COMMON.authenticate(
self.DATA
, self.USER
, self.PASS
, {})
def main():
od = Odoo()
od.authenticateOdoo()
sale_ids = od.ODOO_OBJECT.execute_kw(od.DATA, od.UID, od.PASS, 'sale.order', 'search', [[("state", "=", "cancel")]])
od.ODOO_OBJECT.execute_kw(od.DATA, od.UID, od.PASS, 'sale.order', 'unlink', [sale_ids])
print(od.UID)
if __name__ == '__main__':
main()
请您参考如下方法:
此错误是 python 错误,您调用了一个 方法
,该方法是用位置参数 values
定义的,没有参数。这里的问题是模型的取消链接方法不接受任何争论。
所以检查你的服装插件,你在哪里继承了 sale.order
模型,你覆盖了 unlink
方法并删除了 values
参数。
在您的 odoo 实例中查找此方法并删除 values
参数重新启动服务器,一切都会好起来的。
_inherit = 'sale.order'
......
......
@api.multi
def unlink(values):