【问题标题】:Odoo conditional readonly field on One2many field disappearsOne2many 字段上的 Odoo 条件只读字段消失
【发布时间】: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条件去掉后,问题就消失了。

提前感谢您的任何建议!

【问题讨论】:

    标签: openerp odoo-10


    【解决方案1】:

    是的,当您提供只读属性时它会消失。 为了克服这个问题,在 create 方法和 write 方法中传递值。这将解决您的问题。

    【讨论】:

    • 您好,感谢您的回答!您的答案可能有助于该值不会在后端丢失,因为它在值字典中具有 False 值,但这仅适用于现有记录。但是该值仍然在前端消失,这实际上是我的问题。您是否知道任何可能涉及此问题的 odoo javascript 代码?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多