如何为One2Many字段中的特定字段设置只读字段

时间:2018-04-04 12:51:51

标签: xml odoo odoo-10 readonly

我想根据选择字段设置一个readonly字段。 但问题是,该字段位于One2Many字段下。所以当我为该特定字段放入readonly时,会出现此错误

  

错误

 Uncaught Error: QWeb2 - template['ListView.rows']: Runtime Error: Error: QWeb2 - template['ListView.row']: Runtime Error: Error: Unknown field od_confirm_state_line in domain [["od_confirm_state_line","=","confirmed"]]
  

代码

<page String="Landed Cost">
    <field name="cost_line">
    <tree editable="top">
       <field name="od_partner_id"/>
       <field name="od_product_id"/>
       <field name="od_label" attrs="{'readonly':[('od_confirm_state_line','=','confirmed')]}"/> 
    </tree>
    </field>
</page>

在这里,我想只读取od_label字段。

2 个答案:

答案 0 :(得分:1)

你不能使用视图定义中不存在的attrs中的字段,因此如果视图中没有od_confirm_state_line,你将获得相同的错误。

因为attrs仅在客户端执行,因此您需要提供视图中的所有字段

答案 1 :(得分:1)

必须在视图中定义domain中使用的字段:

<tree editable="top">
   <field name="od_partner_id"/>
   <field name="od_product_id"/>
   <!-- Add od_confirm_state_line like the following-->
   <field name="od_confirm_state_line"/>
   <field name="od_label" attrs="{'readonly':[('od_confirm_state_line','=','confirmed')]}"/> 
</tree>