从输入中获取字段值,以便在Odoo中使用

从输入中获取字段值,以便在Odoo中使用,odoo,field,Odoo,Field,在网站视图上 如何获取“nbr1”字段的值并在“直接复制nbr1”字段中自动复制 有人举个例子吗 template.xml <template id="biography"> <t t-call="website.layout"> <t t-set="title">bio</t> <div class="

在网站视图上

如何获取“nbr1”字段的值并在“直接复制nbr1”字段中自动复制

有人举个例子吗

template.xml

  <template id="biography">
        <t t-call="website.layout">
            <t t-set="title">bio</t>
            <div class="oe_structure">
                <div class="container">
                    <h3 t-field="person.name"/>
                    <p>Last modified: <i t-field="person.write_date"/></p>                  
                    <p>nbr1 : <input type="number" name="nbr1"/></p>
                    <p>Direct copy of nbr1 : <h3 t-field="person.result"/></p>
                </div>              
            </div>
            <div class="oe_structure"/>
        </t>
    </template>

在onchange函数中指定nbr1,而不是传记

name = fields.Char()
nbr1 = fields.Integer()
result = fields.Integer()    

@api.onchange('nbr1')
def _compute_total(self):
    for record in self:
        if record.nbr1:
            record.result = record.nbr1    

你好@saks,我试过了,但不起作用。试试我编辑的代码。检查它是否工作@AdriThank you@Saks_这里是您的答案,我尝试了您的代码,它在数据库中创建了结果字段,但是直接在数据库中更改了“nbr1”的值之后,它就好像不在“_compute_total”函数中一样。所以我更改了这一行:“result=fields.Integer(compute=“\u compute\u total”)”进入函数,在刷新并保持相同的数据库后,直接复制值。但是当我在Web字段中更改nbr1的值时,什么也没有发生。我认为api.onchange应该在不刷新的情况下动态更改该值,但它不会这样做。@adri实际上,当我们使用onchange时,不需要使用compute在xml中调用该函数。如果要直接复制值而不刷新页面,则可以尝试使用related=field_name@adri在py:result=fields.Integer(related='nbr1'中)中尝试此代码
name = fields.Char()
nbr1 = fields.Integer()
result = fields.Integer()    

@api.onchange('nbr1')
def _compute_total(self):
    for record in self:
        if record.nbr1:
            record.result = record.nbr1