我在模型视图中有一个条件只读字段。该模型用作其父模型上的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的值消失。问题是它可能是在第一次,第二次或一些点击次数之后(我一直在尝试并且它不一致)。
对于记录,当删除只读条件时,问题就会消失。
提前感谢任何建议!
答案 0 :(得分:0)
是的,当你给出readonly属性时它会消失。 为了解决这个问题,在write方法中也传递create方法中的值。这将解决您的问题。