布尔字段不起作用 - Odoo v9 社区
Boolean field not working - Odoo v9 community
我想在 Odoo v9 社区中 hide/show 个字段,具体取决于布尔字段
首先,我不知道为什么它不起作用,这是我的代码:
class account_invoice(models.Model):
_inherit = "account.invoice"
is_export = fields.Boolean(string="¿Es exportación?")
field_1 = fields.Char ...
field_2 = fields.Many2one ...
现在我认为:
<record model="ir.ui.view" id="embarque_form_view">
<field name="name">account.invoice.embarque.form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form" />
<field name="arch" type="xml">
<field name='partner_id' position="after">
<field name="is_export" class="oe_edit_only" widget="radio"/>
<field name="puerto_embarque" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="puerto_desembarque" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="moneda_export" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="tara_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="weight_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="net_weight_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="transporte_tipo" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="modal_idad" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
</field>
</field>
</record>
字段实际上是隐藏的,但是当我尝试点击布尔字段来激活它们时,它不起作用,我的意思是它只是点击并且不会变成 'True' 或任何东西,它仍然像没有被点击一样。
我不知道这是否与我添加到其他所有字段的属性有关,例如:attrs="{'invisible': [('is_export', '!=', 'True')]}"
我做错了什么?
布尔字段不工作,因为 widget='radio' 字段属性到 hide/show 其他字段。
使用默认值 False
声明 is_export 字段
尝试使用以下代码:
is_export = fields.Boolean(string="¿Es exportación?", default=False)
使用
更新您的视图文件
<record model="ir.ui.view" id="embarque_form_view">
<field name="name">account.invoice.embarque.form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form" />
<field name="arch" type="xml">
<field name='partner_id' position="after">
<field name="is_export"/>
<field name="puerto_embarque" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="puerto_desembarque" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="moneda_export" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="tara_unit" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="weight_unit" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="net_weight_unit" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="transporte_tipo" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="modal_idad" attrs="{'invisible': [('is_export', '=', False)]}"/>
</field>
</field>
</record>
重新启动 Odoo 服务器并升级您的模块。
我想在 Odoo v9 社区中 hide/show 个字段,具体取决于布尔字段
首先,我不知道为什么它不起作用,这是我的代码:
class account_invoice(models.Model):
_inherit = "account.invoice"
is_export = fields.Boolean(string="¿Es exportación?")
field_1 = fields.Char ...
field_2 = fields.Many2one ...
现在我认为:
<record model="ir.ui.view" id="embarque_form_view">
<field name="name">account.invoice.embarque.form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form" />
<field name="arch" type="xml">
<field name='partner_id' position="after">
<field name="is_export" class="oe_edit_only" widget="radio"/>
<field name="puerto_embarque" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="puerto_desembarque" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="moneda_export" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="tara_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="weight_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="net_weight_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="transporte_tipo" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
<field name="modal_idad" attrs="{'invisible': [('is_export', '!=', 'True')]}"/>
</field>
</field>
</record>
字段实际上是隐藏的,但是当我尝试点击布尔字段来激活它们时,它不起作用,我的意思是它只是点击并且不会变成 'True' 或任何东西,它仍然像没有被点击一样。
我不知道这是否与我添加到其他所有字段的属性有关,例如:attrs="{'invisible': [('is_export', '!=', 'True')]}"
我做错了什么?
布尔字段不工作,因为 widget='radio' 字段属性到 hide/show 其他字段。
使用默认值 False
声明 is_export 字段尝试使用以下代码:
is_export = fields.Boolean(string="¿Es exportación?", default=False)
使用
更新您的视图文件<record model="ir.ui.view" id="embarque_form_view">
<field name="name">account.invoice.embarque.form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form" />
<field name="arch" type="xml">
<field name='partner_id' position="after">
<field name="is_export"/>
<field name="puerto_embarque" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="puerto_desembarque" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="moneda_export" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="tara_unit" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="weight_unit" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="net_weight_unit" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="transporte_tipo" attrs="{'invisible': [('is_export', '=', False)]}"/>
<field name="modal_idad" attrs="{'invisible': [('is_export', '=', False)]}"/>
</field>
</field>
</record>
重新启动 Odoo 服务器并升级您的模块。