我在Odoo上有一个onchange字段,其中保存了一个浮点值,但是我需要在按下按钮时运行的方法上使用该字段的值,但是当我尝试通过self.field_name获取此值时,该值等于0。
任何人都知道如何获得字段值?
答案 0 :(得分:2)
发生的事情是,显然在Odoo上您无法将值写入只读字段,因此在我的XML上,我将只读字段加倍,而新字段使它变为不可见,现在可以正常使用了。这也是我也发现的,您无需在.py文件中声明新字段并在XML上创建它,您只需复制并粘贴您的字段,删除readonly属性,然后添加不可见的属性,效果很好。
我要谈论的字段是solidated_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>
答案 1 :(得分:0)
已知问题 https://www.odoo.com/apps/modules/8.0/web_readonly_bypass/
(我必须输入至少30个字符)
答案 2 :(得分:0)
您可以尝试添加选项:store = True
答案 3 :(得分:0)
尝试使用force_save
用户,兄弟。
<field name="emm" colspan="2" readonly="1" force_save="1"/>