【发布时间】:2019-04-06 16:59:01
【问题描述】:
我有以下代码:
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); });
};
});
});
使用该代码,它会为我提供数字数组,例如[1,2]。数组的长度等于我拥有的条目数,但根本没有对象。如果我将域替换为 [('id', '=', 2)] 之类的内容,则会收到错误“Int object is not subscriptable”。
所以我的问题:是否可以使用搜索方法从数据库中获取对象列表,或者至少从指定的数据库条目中获取字段。
我也尝试了 search_read 方法。像这样:
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 的数据。是这样吗?
标签: javascript odoo rpc odoo-11