【发布时间】:2017-11-08 19:29:00
【问题描述】:
我在模型视图中有一个条件只读字段。此模型用作其父模型的 One2many 字段。 当我编辑 One2many 字段的一个元素时,单击另一个元素,具有条件只读的字段的值会消失。
在搜索此问题时,我在 odoo github 上找到了下一个相关问题。
我的问题很相似,但是当只读条件为 False 时,字段的值完全消失了。当条件为 True 时,该值会在单击元素外部(另一个元素或表单外部)后重新出现。
基本上,模型是:
One2many 类:
class ChildClass(models.Model):
_name = 'child.class'
some_field = fields.Integer()
conditional_field = fields.Boolean()
conditional_readonly_field = fields.Integer()
parent_field = fields.Many2one(
'parent.class'
)
父类:
class ParentClass(models.Model):
_name = 'parent.class'
one2many_field = fields.One2many(
'child.class',
'parent_field'
)
查看
<odoo>
<data>
<record model="ir.ui.view" id="view_draft_order_form">
<field name="name">parent.class.form</field>
<field name="model">parent.class</field>
<field name="arch" type="xml">
<form>
<field name="one2many_field">
<form>
<field name="some_field"/>
<field name="conditional_readonly_field" attrs="{'readonly': [('conditional_field', '=', True)]}"/>
</form>
</field>
</form>
</field>
</data>
<odoo>
因此,在编辑 some_field 并单击 One2many 字段的另一个元素后,conditional_readonly_field 的值消失了。问题是它可能是在第一次、第二次或一些点击之后(我一直在尝试,但并不一致)。
记录一下,当readonly条件去掉后,问题就消失了。
提前感谢您的任何建议!
【问题讨论】: