我的记录无法保存在 openerp 上
My record can't be saved on openerp
我有一个字段,我把它设为只读,当我点击保存时,该字段似乎是空的,当我删除只读选项时它工作正常,但我需要我的字段只读。
在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”时,它不会传递给任何 ORM 方法进行操作,因为它是只读的,所以它不再可用于执行此类操作,因此该字段的目的只是显示以可变形式出现在屏幕上。
但是 odoo 应用程序中提供了替代解决方案,
Access readonly in ORM methods
只读字段仅用于提供信息,因此在持久化记录时它们不会被 OpenERP 客户端保存,这是一个已知的限制。
有许多解决方法可以实现这一点(例如,使用第二个不可见字段来传输实际值),但最好完全避免这些情况。根据经验,尝试只对以下内容使用只读标志:
- 功能字段(无论如何都是默认值)
- 由企业更改的字段 logic/workflow 而不是 UI(通常是州字段)
- 字段是 disabled/ignored
通过 on_change 调用更新它们仍然没问题,但不要依赖这种机制来存储值。
我有一个字段,我把它设为只读,当我点击保存时,该字段似乎是空的,当我删除只读选项时它工作正常,但我需要我的字段只读。
在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”时,它不会传递给任何 ORM 方法进行操作,因为它是只读的,所以它不再可用于执行此类操作,因此该字段的目的只是显示以可变形式出现在屏幕上。
但是 odoo 应用程序中提供了替代解决方案, Access readonly in ORM methods
只读字段仅用于提供信息,因此在持久化记录时它们不会被 OpenERP 客户端保存,这是一个已知的限制。
有许多解决方法可以实现这一点(例如,使用第二个不可见字段来传输实际值),但最好完全避免这些情况。根据经验,尝试只对以下内容使用只读标志:
- 功能字段(无论如何都是默认值)
- 由企业更改的字段 logic/workflow 而不是 UI(通常是州字段)
- 字段是 disabled/ignored
通过 on_change 调用更新它们仍然没问题,但不要依赖这种机制来存储值。