Odoo 只读字段不会在 onchange 上保存值

Odoo readonly field doesn't save value on onchange

我在 Odoo 上有一个 onchange 字段,其中保存了一个浮点值,但是我需要在按下按钮时运行的方法上使用这个字段的值,但是当我尝试通过 self.field_name, 值等于 0.

有人知道如何获取字段值吗?

已知问题 https://www.odoo.com/apps/modules/8.0/web_readonly_bypass/

(我至少要输入 30 个字符)

您可以尝试添加选项:store = True

发生的事情是,显然在 Odoo 上你不能将值写入只读字段,所以在我的 XML 上我将只读的字段加倍,而新的我让它不可见,现在它完美地工作了。这也是我发现的,你不需要在 .py 文件上声明一个新字段并在 XML 上创建它,你只需复制并粘贴你的字段,删除 readonly 属性,然后添加一个不可见的属性,完美地工作。

我说的字段是consolidated_balance,我的XML是这样的:

<record id="projected_cash_flow_wizard" model="ir.ui.view">
    <field name="name">projected.cash.flow.wizard</field>
    <field name="model">projected.cash.flow</field>
    <field name="arch" type="xml">
        <form string="Projected Cash Flow">
            <group col="4" colspan="4">
                <field name="start_date" required="1"/>
                <field name="final_date" required="1"/>
            </group>

            <group col="4" colspan="4">
                <field name="journal_id" attrs="{'readonly': [('all_journals','=',True)], 'required': [('all_journals','=',False)]}" />
                <field name="all_journals" />
            </group>

            <group col="4" colspan="4">
                <field name="print_bool" />
                <field name="consolidated_balance" readonly="1" />
                <field name="consolidated_balance" invisible="1" />
            </group>

            <footer>
                <button name="process_projected_cash_flow" string="Confirm" type="object" class="btn-primary" />
                or
                <button string="Cancel" class="btn-default" special="cancel"/>
            </footer>
        </form>
    </field>
</record>

试试用户force_save,兄弟

<field name="emm" colspan="2" readonly="1" force_save="1"/>