我创建了一个自动填充某些字段的小部件。基本上我正在检查谷歌地图geolocate中的一些值,并根据这些值是什么来填充其他字段。原来我需要检查已经在我的表单中的一个值。目前发生的事情我只得到之前保存的值,如果它改变了,我仍然得到旧值。我的问题是如何实时获得该值?
我的代码是这样的:
var gmap_autocomplete = form_common.AbstractField.extend({
// functions such as start, init, on_ready...
setFields : function (fieldName, fieldValue) {
var not_vat_payer = this.view.datarecord[this.node.attrs.check_not_vat]);
// Here I get the value that I want of previous form save
// for example if value was true, I came here and triggered this
//widget I will get value true, but if I change it to false
// I will still get true value of previous save
}
});
我的小部件字段如下所示:
<field name="not_vat2"/>
<field name="autocomplete" class="autoc" widget="gmap_autocomplete" street="street"
city="city" zip="zip" country_id="country_id" lang="lang" invoice_lang="invoice_lang"
property_account_payable_id="property_account_payable_id"
property_account_receivable_id="property_account_receivable_id"
check_not_vat="not_vat2"/>
答案 0 :(得分:1)
找到非常简单的解决方案: 这将返回视图中的字段值,无论它是否存储在db中。
this.field_manager.get_field_value('field_name');
答案 1 :(得分:0)
exmple.js
进行更改......
var model_obj = new Model('model.name');
var gmap_autocomplete = form_common.AbstractField.extend({
// functions such as start, init, on_ready...
setFields : function (fieldName, fieldValue) {
var not_vat_payer = this.view.datarecord[this.node.attrs.check_not_vat]);
new_val = false;
model_obj.call('method_name',[new_val]).then(function(result){});
}
});
<强> example.py 强>
@api.model
def method_name(self,new_val):
//write code for change field value