У меня есть следующий код:
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 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 в качестве идентификатора, а не поля, которые мне нужны.