Odoo 11:如何在javascript中获取当前记录

时间:2018-10-02 13:39:29

标签: python odoo odoo-11

这是我的python函数

class SaleOrder(models.Model):
_inherit = 'sale.order'
@api.model
def get_order(self):
order=request.env['sale.order'].sudo().search([('id','=',self.id)])
    print(order.name)
    return(order)

这是我的JavaScript代码:

var rpc = require('web.rpc');
        rpc.query({
            model:'sale.order',
            method:'get_order',
        }).then(function (result) { 
            console.log("Done");

});

日志中的结果为空

“自我”为空,为什么?

我的函数如何工作?

任何人都可以帮助我

1 个答案:

答案 0 :(得分:1)

该功能必须是实例级别,然后只有self将包含记录引用。

在您的示例中,该函数为 @ api.model 类型,如果您需要自行记录,则该函数必须位于 @ api.multi 中。如果是 @ api.model ,则自我代表模型。

如果在窗体视图小部件中使用的是JS代码,则您已经有当前记录,只需尝试 this.field_manager.datarecord ,您将获得当前记录。