我想做一些我以前从来没有做过的事情,我真的不知道如何解决它。在
我想做的是: 选中复选框后,将字段“name”替换为另一个(selection)字段,但将值写入原始字段“name”。在
这里的问题是,当我像这样执行inherit with replace时:
<xpath expr="//field[@name='name']" position="replace">
<field name="name" attrs="{'invisible': [('realman', '=', True)]}"/>
<field name="workcenter_naam" attrs="{'invisible': [('realman', '=', False)]}" required="1"/>
</xpath>
(在这段代码中,字段“realman”是复选框。)
它在前端看起来是正确的,但是当我为字段“workcenter_naam”选择一个值并单击“保存”时,会出现以下错误:
The following fields are invalid: Name
如果我将python文件中的字段“workcenter_naam”的名称更改为“name”,它将始终使用该字段(而不是原始名称字段),而不依赖于该复选框。像这样:
^{pr2}$而不是:
name = fields.Selection(_workcentername_selection, string="Workcenter naam")
它在前端是怎样的,它应该是怎样的。 在继承的视图中选择的值,例如“Bakkerij”,只需要放在name字段中。在
有人知道如何解决这个问题吗?如果有什么不清楚的地方,请告诉我。在
当您隐藏字段“name”是不可见的,但它仍然是必需的
您可以保留这两个字段,但应该删除python类的“name”字段中的属性“required”。最后,将属性“required”添加到xml表单视图中,使其仅在该特定视图中是必需的:
或者你可以做你已经做过的事情:)
^{pr2}$我还将添加这个函数(或类似函数),以便重置“name”字段
相关问题 更多 >
编程相关推荐