繁体   English   中英

如何修复'TypeError:unlink()缺少1个必需的位置参数:\'values\'\n''

[英]How to fix 'TypeError: unlink() missing 1 required positional argument: \'values\'\n''

我使用 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定义的method 这里的问题 Model 的 unlink 方法不接受任何争论。

所以检查你的服装插件你在哪里继承了sale.order model 并且你覆盖了unlink方法并删除了values参数。

在您的 odoo 实例中查找此方法并删除values争论重新启动服务器,一切都会好起来的。

   _inherit = 'sale.order'

  ......
  ......

   @api.multi
   def unlink(values):

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM