【问题标题】:How to use RPC query in JavaScript with search method in Odoo 11 / 12?如何在 JavaScript 中使用 RPC 查询和 Odoo 11 / 12 中的搜索方法?
【发布时间】: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


【解决方案1】:

改变


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


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

【讨论】:

  • 我在哪里可以找到这方面的文档?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2019-05-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2019-11-24
相关资源
最近更新 更多