我有以下代码:
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对象不可下标”。
所以我的问题:是否可以通过搜索方法从数据库中获取对象列表,或者至少从指定的DB条目中获取字段。
我也尝试了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作为标识符,而不能使用我想要的字段
答案 0 :(得分:0)
更改
[('id', '=', 2)];
收件人
[ ['id', '=', 2], [] ];