我的记录无法保存在openerp上

时间:2015-09-11 10:56:56

标签: python xml openerp odoo

我有一个字段,我把它放在readonly中,当我点击保存时,字段似乎是空的,当我删除选项readonly然后它工作正常,但我需要我的字段只是在readonly。

XML中的

<group col="2">
  <field name="st_id" on_change="onchange_stu(st_id)/>
   <field name="standard_id"   readonly="1"/>
   <field name="division_id"   readonly="1"/>
   <field name="medium_id"    readonly="1"/>
</group>

1 个答案:

答案 0 :(得分:1)

任何字段只读=&#34; 1&#34;它不会传递给操作的任何ORM方法,它将不再可用于执行此类操作,因此该字段的目的只是以可变的形式显示在屏幕上。

但odoo app中提供了备用解决方案, Access readonly in ORM methods

只读字段仅用于提供信息,因此在保存记录时,OpenERP客户端不会保存它们,这是一个已知的限制。

有许多解决方法可以实现这一点(例如,使用第二个不可见字段来传输实际值),但最好完全避免这些情况。根据经验,尝试仅使用只读标志:

  • 功能字段(无论如何都是默认值)
  • 由业务逻辑/工作流更改的字段,但不是UI(通常是状态字段)
  • 已停用/已忽略的字段

通过on_change调用更新它们仍然可以,但不要依赖此机制来存储值。