简体   繁体   English

web.DataModel缺少odoo11

[英]web.DataModel is missing odoo11

I'm changing odoo 10 module to odoo 11.I'm facing problem for missing dependency web.DataModel. 我正在将odoo 10模块更改为odoo 11.我正面临缺少依赖项web.DataModel的问题。 How can i convert the following code to odoo 11 version. 我如何将以下代码转换为odoo 11版本。

 var temp = {
       'partner_id': client['id'],
       'coupon_pos': cp.code,
          };
 new Model('partner.coupon.pos').call('update_history', 
 ['',temp]).done(function (result) {
     // alert("result")
     var applied = self.pos.applied_coupon;
     var already_used = false;
     for (var j in applied) {
     if (applied[j]['partner_id'][0] == client['id'] &&
         applied[j]['coupon_pos'] == order.coupon_status['code']) {
         applied[j]['number_pos'] += 1;
         already_used = true;
         break;
     }
   }
   if (!already_used) {
      var temp = {
          'partner_id': [client['id'], client['name']],
          'number_pos': 1,
          'coupon_pos': order.coupon_status['code']
       };
       self.pos.applied_coupon.push(temp);
    }
 });
self.gui.close_popup();

In v10 web.DataModel is used for calling py method in js but it is deprecated in odoo v11. 在v10中, web.DataModel用于在js中调用py方法,但在odoo v11中已弃用。 If you want to call any py method in js file you need to use _rpc method. 如果要在js文件中调用任何py方法,则需要使用_rpc方法。 For example: 例如:

this._rpc({
                model: 'model.name',
                method: 'method_name',
                args: [arguments],
            })
            .then(function(result) {
                //custom code
            });

By this way you can convert v10 js code to v11. 通过这种方式,您可以将v10 js代码转换为v11。

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

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