Openerp ODOOUI小部件-如何从数据库获取设置?
我正在编写一个odoov9小部件,它根据数据库中的设置和实际表单字段的连接来呈现URL 数据库I figure中的设置应该位于ir_config_参数中。我在模块中插入一个默认值 呈现小部件时,获取该值的最佳方法是什么?使用 新模型(“ir.config_参数”) 似乎有点笨手笨脚。有没有更好的办法 谢谢 小部件代码:Openerp ODOOUI小部件-如何从数据库获取设置?,openerp,odoo-9,odoo-view,Openerp,Odoo 9,Odoo View,我正在编写一个odoov9小部件,它根据数据库中的设置和实际表单字段的连接来呈现URL 数据库I figure中的设置应该位于ir_config_参数中。我在模块中插入一个默认值 呈现小部件时,获取该值的最佳方法是什么?使用 新模型(“ir.config_参数”) 似乎有点笨手笨脚。有没有更好的办法 谢谢 小部件代码: var UrlWidget2 = form_common.FormWidget.extend({ start: function() {
var UrlWidget2 = form_common.FormWidget.extend({
start: function() {
this._super();
this.field_manager.on("field_changed:ref", this, this.display_result);
this.display_result();
},
display_result: function() {
var ref = this.field_manager.get_field_value("ref");
if (!ref) return;
var baseUrl = 'https://example.com'; //this is the value I want to get from the setting in the database.
var url = baseUrl + '/foo/' + ref;
this.$el.html('<a href="' + url + '" target="portal">View Externally</a><br /><br/>');
}
});
var UrlWidget2=form_common.FormWidget.extend({
开始:函数(){
这个;
this.field\u manager.on(“field\u changed:ref”,this,this.display\u result);
这是一个.display_result();
},
显示结果:函数(){
var ref=此.field_manager.get_field_value(“ref”);
如果(!ref)返回;
var baseUrl=https://example.com“;//这是我想从数据库中的设置中获取的值。
var url=baseUrl+'/foo/'+ref;
这是.el.html(“
”);
}
});
您可以使用它。这是一个适合我的例子:
var Model = require('web.DataModel');
var UrlWidget2 = form_common.FormWidget.extend({
// just example how to get parameter from backend
display_result: function() {
var parameter = new Model('ir.config_parameter');
// get fields value, key
parameter.query(['value', 'key'])
// criteria of search - record with id = 1
.filter([['id', '=', 1]])
// only one record
.limit(1)
.all()
.then(function (parameter) {
// here data from server
console.log(parameter);
});
// ...
}
});
希望这对您有所帮助。您想在哪里显示设置值?我的意思是,它将是表单字段?在我编写javascript的小部件中,我需要获取并使用配置设置。显示您的js小部件。我也做了类似的事情。也许我能帮上忙。添加了小部件代码。表单使用什么模型?为什么不能为此添加
compute
字段?谢谢,我可能必须这样做-但正如我在问题中所说的,我希望避免使用ajax调用。我所要做的只是渲染一个链接(或者几个链接)。返回服务器并异步呈现这些链接的速度会很慢。所以我正在寻找一种更好的方法来实现这一切。如果你找到更好的方法,请告诉我。还有一件事。。。我检查了不同应用程序的来源。我还没有见过像as config这样的东西。使用ir\u config\u参数
通过RPC进行。