如何使用JavaScript中的RPC查询和Odoo 11/12中的搜索方法?

如何使用JavaScript中的RPC查询和Odoo 11/12中的搜索方法?,javascript,odoo,rpc,odoo-11,Javascript,Odoo,Rpc,Odoo 11,我有以下代码: odoo.define('module_name.templates', function(require){ "use strict"; $(document).ready(function() { var rpc = require('web.rpc'); $('#query').click(getProductBySKU); function getProductBySKU(){ var domain = [];

我有以下代码:

odoo.define('module_name.templates', function(require){
"use strict";

$(document).ready(function() {
    var rpc = require('web.rpc');

    $('#query').click(getProductBySKU);
    function getProductBySKU(){
        var domain = [];
        var args = [domain];

        var res = rpc.query({
            model: 'product.template',
            method: 'search',
            args: args
        }).then(function (products) {
            console.log(product); });
        };
    });
});
通过这个代码,它给了我一个数字数组,e.x.[1,2]。数组的长度等于我拥有的条目数,但根本并没有对象。如果我用[('id','=',2)]之类的东西替换域,我会得到错误“Int对象不可下标”

所以我的问题是:是否可以使用搜索方法从数据库中获取对象列表,或者至少从指定的数据库条目中获取字段

我还尝试了搜索-阅读方法。像这样:

odoo.define('shift_knob.templates', function(require){
"use strict";

$(document).ready(function() {
    var rpc = require('web.rpc');

    $('#query').click(getProductBySKU);
    function getProductBySKU(){
        console.log("Hello world!");
        var domain = [('id', '=', 2)];
        var args = [domain];

        var res = rpc.query({
            model: 'product.template',
            method: 'search_read',
            args: [[], ['name', 'default_code']]
            /* args: args */
        }).then(function (products) {
            console.log(products); });
        };
    });
});
我获得了带有名称和默认代码的对象列表,但我只能使用id作为标识,而不能使用我想要更改的字段


[('id', '=', 2)];


您想获取特定id的数据。是这样吗?

[ ['id', '=', 2], [] ];