One2many字段上的Odoo条件只读字段消失

问题描述 投票:2回答:1

我在模型视图中有一个条件只读字段。此模型用作其父模型上的One2many字段。当我编辑One2many字段的其中一个元素时,单击另一个元素,具有条件只读的字段的值消失。

在我搜索这个问题时,我发现了odoo github的下一个相关问题。

我的问题非常相似,但当readonly条件为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的值消失。问题是它可能是在第一次,第二次或一些点击次数之后(我一直在尝试并且它不一致)。

为了记录,当删除只读条件时,问题消失。

在此先感谢您的任何建议!

openerp odoo-10
1个回答
0
投票

是的,当你给出readonly属性时它会消失。为了解决这个问题,在write方法中也传递create方法中的值。这将解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.