如何使用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], [] ];