Odoo 11: Как получить текущую запись в JavaScript - PullRequest
0 голосов
/ 02 октября 2018

это моя функция 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");

});

Результат в журнале пуст

Так что "self" этопусто, но почему?

А как моя функция может работать?

Кто-нибудь может мне помочь, пожалуйста

1 Ответ

0 голосов
/ 04 октября 2018

Функция должна быть на уровне экземпляра, тогда только self будет содержать ссылку на запись.

В вашем примере, функция имеет тип @api.model, она должна быть в @api.multi, тогда вы получите запись самостоятельно.В случае @api.model self представляет модель.

Если вы используете JS-код в виджете представления формы, то у вас уже есть текущая запись, просто попробуйте this.field_manager.шнур данных и вы получите текущую запись.

...