在Odoo小部件中创建一个读写字段

时间:2017-10-04 11:31:33

标签: python openerp odoo-8 qweb

我按照https://www.odoo.com/documentation/9.0/howtos/web.html

上的文档进行操作

但是当我尝试创建一个读写字段时,我收到错误Cannot read property 'get' of undefined

<t t-if="! widget.get('effective_readonly')">
    <input type="text"></input>
</t>

此代码无法识别widget。我应该在模板中使用identifier的内容?如果没有内置identifier,在哪里定义identifier?怎么样?

1 个答案:

答案 0 :(得分:0)

init函数

local.FieldNewWidget = instance.web.form.AbstractField.extend({
    init: function(parent, options) {
        this._super(parent, options);
        this._super.apply(this, arguments);
        this.set("value", "");
        this.widget = this;
    },

...

在这里

    display_field: function() {
        var self = this;
        self.$el.empty();
        self.$el.append(QWeb.render('yourNewTemplate', {widget: self, data: data}));

...

完成