【发布时间】:2018-04-04 12:51:50
【问题描述】:
我想根据选择字段将字段设置为只读。 但问题是,该字段位于 One2Many 字段下。因此,当我为该特定字段设置只读时,就会出现此错误
错误
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 设为只读。
【问题讨论】:
-
所以
od_confirm_state_line是属于其他模型的选择字段,从当前模型中,您可以通过One2many字段到达那里。问题是每条 cost line 包含多条记录,每条记录都有自己的状态,所以我的问题是: 1. 如果任何记录被确认或所有记录都被确认,od_label是否必须是只读的确认的? 2. 我们说的 One2many 领域的技术名称是什么? -
od_confirm_state_line 属于哪里?!!并且您不能在 attrs 中使用视图定义中不存在的字段,因此如果 od_confirm_state_line 不在视图中,您将收到相同的错误。
-
@forvas :实际上我有一个名为
od_confirm_state_line的字段位于另一个模型中,od_confirm_sale是一个相关字段,与cost_line处于同一模型中 1)它必须是确认当前记录时只读 2)cost_line -
@Cherif 与
cost_line同型号 -
是的,因为 attrs 仅在客户端执行,因此您需要在视图中提供所有字段,否则您将遇到该错误