我将odoo 10模块更改为odoo 11.我正面临缺少依赖关系web.DataModel的问题。如何将以下代码转换为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();
答案 0 :(得分:0)
在v10中, web.DataModel 用于在js中调用py方法,但在odoo v11中已弃用。如果要在js文件中调用任何py方法,则需要使用 _rpc
方法。例如:
this._rpc({
model: 'model.name',
method: 'method_name',
args: [arguments],
})
.then(function(result) {
//custom code
});
通过这种方式,您可以将v10 js代码转换为v11。